Модификация функции jquery - PullRequest
       4

Модификация функции jquery

2 голосов
/ 10 февраля 2011

Ниже я использую jquery для переключения отображения div.Что мне нужно добавить к этому, чтобы при загрузке страницы был активен только первый результат?

$(document).ready(function(){

//Hide (Collapse) the toggle containers on load
$(".toggle_container").hide(); 

//Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
$("h6.trigger").click(function(){
    $(this).toggleClass("active").next().slideToggle("slow");
    return false; //Prevent the browser jump to the link anchor
});

Ответы [ 3 ]

0 голосов
/ 10 февраля 2011
$(function() {
 $("h6.trigger:first").addClass('active');
});

Кроме того, это идет вместо $(document).ready(function(){}), поскольку .ready() - это старый способ jquery делать что-то при загрузке документа.

0 голосов
/ 10 февраля 2011

Вы можете получить первое совпадение из исходного выбора, используя метод eq() (документы) или first() (документы) метод.

$("h6.trigger").click(function(){
    $(this).toggleClass("active").next().slideToggle("slow");
    return false;
}).eq(0).click();
 // ^------^------grab the first element, and trigger the handler

Или в качестве альтернативы вы можете использовать triggerHandler() (документы) метод для запуска только первого.

$("h6.trigger").click(function(){
    $(this).toggleClass("active").next().slideToggle("slow");
    return false;
}).triggerHandler('click');
 // -----^--------this will only trigger the click on the first element.

Оба из них позволяют использовать исходный выбор DOM, предотвращая необходимость повторного использования.-выбор.

0 голосов
/ 10 февраля 2011

Вы можете просто поднять событие клика, которое вы зарегистрировали на первом совпадении с h6:

$(document).ready(function(){

//Hide (Collapse) the toggle containers on load
$(".toggle_container").hide(); 

//Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
$("h6.trigger").click(function(){
    $(this).toggleClass("active").next().slideToggle("slow");
    return false; //Prevent the browser jump to the link anchor
});

$("h6.trigger:first").trigger('click');

});
...