Jquery переключение с использованием только ссылки - PullRequest
0 голосов
/ 13 января 2012

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

Любая помощь будет высоко ценится.

$(document).ready(function () {

$('.guide').click(function () {

    var text = $(this).children('.guidebox');

    if (text.is(':hidden')) {
        text.slideDown('200');
        $(this).find('.toggle').html('<< Less');                        
        //$(this).children('.myDiv2').append( $('.myDiv1>p') );
        $(".myDiv2", this).append( $(".myDiv1>p", this) );
        $(this).children('img.guideImage').animate({
            width: '412px',
            height: '275px'
          }, 500, function() {
          });   



    } else {
        text.slideUp('200');
        $(this).find('.toggle').html('More >>');
    //  $(this).children('.myDiv1').append( $('.myDiv2>p') );
        $(".myDiv1", this).append( $(".myDiv2>p", this) );  
        $(this).children('img.guideImage').animate({
            width: '198px',
            height: '132px'
          }, 500, function() {
          });   
    }

});

});

Демо здесь http://jsfiddle.net/ktcle/CWXqS/

Ответы [ 2 ]

1 голос
/ 13 января 2012
$('.guide a').click(function (e) {
e.preventDefault();
}

Добавить e.preventDefault ()

EDIT:

Я не уверен, что понял вас, но я немного изменил ваш сценарий http://jsfiddle.net/CWXqS/1/

0 голосов
/ 13 января 2012

Не будет ли проще иметь событие click для ссылки, а не для div с руководством по классам?
Изменяется:

$('.guide').click(

на:

$('.toggle').click(

Просто не забудьте вернуть false в конце функции, иначе браузер попытается отойти от страницы или перезагрузить ее, поскольку она является гиперссылкой.

Так, например, используя ссылку для запуска события,скрипт будет выглядеть так

$('.toggle').click(function () {

        var parentDiv = $(this).parent();
        var text = $(parentDiv).children('.guidebox');  
 //...
        return false;
};
...