2013-02-07 31 views
2

你好,我有以下HTML:製作切換

​​

而下面的jQuery:

$(document).ready(function() { 
    $('#second').hide(); 
    $('span.slide1').click(function() { 
     $('#second').slideToggle(800); 
     return false; 
    }); 
}); 

我如何可以從左側的隱藏的div切換和節目?

我的意思是當我點擊元素時,我想讓div出現在span元素的左邊。

這是我到目前爲止有:

http://jsfiddle.net/gVjFs/70/

回答

0

可以達到這樣的效果:http://jsfiddle.net/gVjFs/70/

<span id="second" class="content1" style="width:0px; display:inline-block; overflow:hidden; float: left; white-space:nowrap;">I’m not a good</span> 

<a href="#" class="slide1" style="float: left;">Behavior</a> 

    $(document).ready(function() { 
     $('.slide1').click(function() { 
      $('#second').animate({ 
       width: '100px', 
      }, 1000); 
     }); 
    }); 
+0

這正是我想要的!非常感謝你 – emcee22

+1

爲什麼當我再次點擊時它不會隱藏?它應該這樣做 – emcee22

+0

@Chris你的答案中的小提琴與問題中的小提琴相同。 –

1

我想你只是需要一些CSS樣式來做到這一點。

.slide1 { 
    display:inline-block; 
} 
.content1{ 
    display:inline-block; 
} 

這裏是updated JS Fiddle

乾杯。

編輯:剛剛看了一遍答案,它看起來你希望它出現在左側,關於以前的遺憾,但與CSS,你可以做到這一點罰款以及

.slide1 { 
    display:inline-block; 
} 
.content1{ 
    float:left; 
} 

New JS Fiddle

1

請嘗試以下操作。你將需要effectsjquery-ui,但正如我可以看到你的jsfiddle,你正在使用它。

$(document).ready(function() { 
    $('#second').hide(); 
    $('span.slide1').click(function() { 
     $('#second').effect('slide', 500); 
     return false; 
    }); 
}); 

看到http://jsfiddle.net/gVjFs/73/

+0

臨時答案!這是我想 – emcee22

3

有兩種方法可以做到這一點,一個還需要jQuery用戶界面,另一個僅jQuery的。

沒有jQuery用戶界面:

$(document).ready(function() { 
    $('#second').hide(); 
    $('span.slide1').click(function() { 
     $('#second').animate({width:'toggle'},800);; 
     return false; 
    }); 
}); 

jsFiddle example。本示例使用.animate()更改寬度。


使用jQuery UI

$(document).ready(function() { 
    $('#second').hide(); 
    $('span.slide1').click(function() { 
     $('#second').show("slide", { direction: "left" }, 800); 
     return false; 
    }); 
}); 

jsFiddle example。這個例子使用jQuery UI的效果方法。

+1

偉大的答案..謝謝 – emcee22

+1

+1作爲你的第一個例子是做一個切換雙向,進退出。再加上一些不錯的CSS,以防止文本的包裝,它是完美的。 '#second {white-space:nowrap; }' - [** With CSS **](http://jsfiddle.net/gVjFs/78/) – Nope

1

嘗試這樣

.slide1 { 
display:inline-block; 
} 
.content1{ 
display:inline-block; 
float: left; 
} 

See Demo

1

您可以創建一個自定義動畫,像這樣的:

jQuery.fn.blindToggle = function(speed, easing, callback) { 
    var h = this.outerWidth(); 
    return this.show().animate({marginLeft: parseFloat(this.css('marginLeft')) < 0 ? 0 : -h}, speed, easing, callback); 
};