Как перейти к внутренней ссылке и выполнить функцию jquery? - PullRequest
0 голосов
/ 27 сентября 2011

Я очень новичок в jquery.Я использую этот фрагмент кода jquery, и он работает нормально.Но я хотел бы перемещаться из любого места на веб-сайте и все еще иметь функцию работы:

    function showselectedbox(theselectedbox) {
        $(".pageboxes").each(function (index) {
            if ($(this).attr("id") == theselectedbox) {
                $(this).show(200);
            }
            else {
                $(this).hide(600);

            }
        });
    }
<a id="myHeader1" href="javascript:showselectedbox('mynewboxes1');" >show this one only</a>
<div class="pageboxes" id="mynewboxes1">Div #1</div>
<a id="myHeader2" href="javascript:showselectedbox('mynewboxes2');" >show this one only</a>
<div class="pageboxes" id="mynewboxes1">Div #1</div>

... больше того же самого.

Я также строю меню с вкладками для навигации, и хотели бы, чтобы выбранная ссылка была отмечена.

<div id="metaltop-teal">
                            <ul>
                                <li class="first active"><a id="myHeader1" href="javascript:showonlyone('mynewboxes1');" >show this one only</a></li>
                                <li><a id="myHeader2" href="javascript:showonlyone('mynewboxes2');" >show this one only</a></li>...
                            </ul>
                        </div>

Есть ли еще один способ отформатировать URL?Например: <a href="url" ...>link to page</a>

Спасибо

1 Ответ

0 голосов
/ 27 сентября 2011

Вы должны поместить свой javascript в файл .js, а затем включить файл в другие файлы:

 <script src="yourfile.js" type="text/javascript"></script>

Теперь вы можете свободно обращаться к своей функции JavaScript.

Не забудьте включить ваш .js-файл ПОСЛЕ того, как вы включите jquery, иначе ваш скрипт не будет работать.

РЕДАКТИРОВАТЬ:

Чтобы код выполнялся при загрузке страницы, я бы использовал $ ('document'). Ready () Это гарантирует, что код не будет выполнен, пока не будут загружены все элементы DOM. Таким образом, вы избегаете попыток манипулировать элементами, которых там нет. Это особенно важно при использовании обработчиков событий, таких как click (). Для live () и делегата (), которые также присоединяются к элементам, созданным позже, это не так важно.

Сначала вы делаете строку:

$('document').ready(function(){

после этой строки вы помещаете что-либо для выполнения при загрузке страницы.

Чтобы закончить этот блок, вы пишете

});

И после этого вы ставите свои функции и т. Д.

...