2012-01-13 48 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