2012-01-13 49 views
0

我已经写了一个切换功能,可以改变点击的内容和图像大小,它一切正常,除了我已经卡住如何使用只有更多的按钮触发切换。此时,当您点击引导框中的任意位置时,切换将触发,但由于我想在副本中添加链接,但是当您点击这些链接时,它会关闭它。jquery切换只使用链接

我想我可以变得有点粘父母,下一个等

任何帮助将非常感激。

$(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/

回答

1
$('.guide a').click(function (e) { 
e.preventDefault(); 
} 

添加e.preventDefault()

编辑:

我不知道如果我理解你,但我改变了你的剧本 http://jsfiddle.net/CWXqS/1/

0

在链接上点击事件而不是在带有课程指南的div上会不会更容易?
因此改变:

$('.guide').click(

到:

$('.toggle').click(

只记得在函数的最后返回false否则浏览器将尝试从页面导航离开或重新加载它,因为它是一个超链接。

因此,例如,通过该链接触发事件的脚本应该是这样

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

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

不幸的是,只是切换的框现在和所有其他的动画丢失 – 2012-01-13 17:00:28

+0

是的,那就需要改变整个脚本作为$(this)不会再引用div。我可以发布一个完整的脚本示例。 – 2012-01-13 17:06:32

+0

让它工作。我想我有星期五大脑!谢谢你的帮助 – 2012-01-13 17:13:24