2011-08-31 48 views
1

我需要滑動一個div的內容:在鏈接點擊時,div應該從右向左滑動,當我點擊第二個鏈接時,可見的div應該滑出右側,div與新的內容應從右到左滑出...... 我使用的是歷史插件作爲我的網頁應該dinamicaly加載: jQuery的(文件)。就緒(函數($){jquery滑動divs

 function load(num) { 
      $('.leftside').load(num +".html",'',showNewContent()); 
     } 

     $.history.init(function(url) { 
      load(url == "" ? "page1" : url); 
     }); 
     function showNewContent() { 

      $(".leftside").css('left', function(){ 
       return $(".rightside").offset().left - $(".navigation").offset().left; }) 
      .animate({"left":"0px"}, { 
             duration: 2000, 
             specialEasing: { 
              width: 'linear', 
              height: 'swing' 
             } 
            }); 
     } 
     function hideLoader() { 
      $('.leftside').fadeOut('normal'); 



     } 
     $('.main-nav a').live('click', function(e) { 
      var url = $(this).attr('href'); 
      url = url.replace(/^.*#/, ''); 
      $.history.load(url); 
      return false; 
     }); 

}); 

的HTML是這樣的事情:

<div class="leftside"></div> 
<div class="navigation"> 
    <div class="main-nav"> 
    <ul> 
    <li><a href="#page1">link 1</a></li> 
    <li><a href="#page2">link 2</a></li> 
    </ul> 
    </div> 
</div> 

JS代碼工作,但噸他的div並不像我上面所描述的那樣滑動......你有什麼想法該怎麼做?

+0

如果有人有興趣,我找到了解決辦法 - 很簡單:$(「主導航一」)住( '點擊',功能(E){ \t \t \t VAR URL = $(本).attr( 'href' 屬性); \t \t \t URL = url.replace(/^.*#/, ''); \t \t \t if($('。leftside')。(':visible')){ \t \t \t \t $( '萊夫特賽德')停止()動畫({左: 「爲360px」}。{ \t \t \t \t \t \t \t \t \t \t時間:2000年, \t \t \t \t \t \t \t \t \t \t specialEasing:{ \t \t \t \t \t \t \t \t \t \t寬度: '線性', \t \t \t \t \t \t \t \t \t \t高度: '擺動' \t \t \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t({left:「0px」},1000); \t \t \t \t \t \t \t} \t \t \t其他{ \t \t \t \t $( '萊夫特賽德。')停止()動畫({左: 「0像素。」},1000); \t \t \t} \t \t \t $ .history。負載(URL); \t \t \t return false; \t \t}); –

回答

0

如果有人有興趣,我找到了解決辦法 - 很簡單:

$('.main-nav a').live('click', function (e) { 
    var url = $(this).attr('href'); 
    url = url.replace(/^.*#/, ''); 
    if ($('.leftside').is(':visible')) { 
    $('.leftside').stop().animate({ 
     left: '360px' 
    }, { 
     duration: 2000, 
     specialEasing: { 
     width: 'linear', 
     height: 'swing' 
     } 
    }).animate({ 
     left: '0px' 
    }, 1000); 
    } else { 
    $('.leftside').stop().animate({ 
     left: '0px' 
    }, 1000); 
    } 
    $.history.load(url); 
    return false; 
});