0
我在桌面模式(> 767px)下創建了一個帶有DIV-s的表格,並在移動模式下創建了一個手風琴系統(< 768px)。我使用了一個帶有2個IF-s和(window).resize的(document).ready與相同的IF-s,這樣即使用戶改變瀏覽器的寬度,視圖也會自動改變。jQuery方法slideToggle()和resize()效果不佳
一切都很好,但是當您從第一次桌面模式切換到移動模式時,手風琴系統有點雜亂。難道我做錯了什麼?
完全DEMO
JS代碼:
function accordion() {
if (jQuery(window).width() < 768) {
$('.content_1').hide();
$('.child_1_1').hide();
$('.child_1_2').hide();
$('.child_1_3').hide();
$('.parent_1 .title').click(function() {
$('.content_1').slideToggle("fast");
$('.child_1_1').slideToggle("fast");
$('.child_1_2').slideToggle("fast");
$('.child_1_3').slideToggle("fast");
});
$('.content_1_1').hide();
$('.child_1_1 .title').click(function() {
$('.content_1_1').slideToggle("fast");
});
$('.content_1_2').hide();
$('.child_1_2 .title').click(function() {
$('.content_1_2').slideToggle("fast");
});
$('.content_1_3').hide();
$('.child_1_3 .title').click(function() {
$('.content_1_3').slideToggle("fast");
});
}
else if (jQuery(window).width() > 767) {
$('.content_1').show();
$('.child_1_1').show();
$('.child_1_2').show();
$('.child_1_3').show();
$('.content_1_1').show();
$('.content_1_2').show();
$('.content_1_3').show();
$('.parent_1 .title').off();
$('.child_1_1 .title').off();
$('.child_1_2 .title').off();
$('.child_1_3 .title').off();
$('.front').hide();
}
}
$(document).ready(function() {
accordion();
});
$(window).resize(function() {
accordion();
});
謝謝@Bojan佩特科夫斯基,但即使是在更新後的代碼是相同的錯誤..看,在桌面模式下JSFiddler中打開結果窗口,摺疊頁面,現在使結果窗口更小,以查看移動視圖..嘗試在此方式,你會顯示我說的錯誤.. – Joan 2014-10-29 10:13:20
說明你看到什麼樣的錯誤/ – 2014-10-29 10:16:39
很難解釋,但我可以告訴發生一個奇怪的動畫,像一個反彈.. – Joan 2014-10-29 11:57:45