Tôi đang cố gắng xóa kiểu dáng và javascript của phần tử bxslider khi cửa sổ trình duyệt co lại thành một kích thước nhất định và áp dụng một kiểu khác cho danh sách, nhưng nó đang làm những điều kỳ lạ.thay đổi kích thước cửa sổ bằng kiểu bxslider phá vỡ kiểu
Mở rộng quy mô từ dưới 502px, mọi thứ trông đẹp và hoạt động tốt, nhưng khi thu nhỏ lại, thanh trượt sẽ biến mất, nhưng kiểu dáng mới bị hỏng. Tại thời điểm này tôi chỉ cần tải lại trang nếu nó đi dưới 502px, mà chỉ cảm thấy khủng khiếp.
Dưới đây là mã của tôi:
EDIT: Theo yêu cầu, tôi đã thêm mã HTML có liên quan, javascript và CSS để một JSFiddle: http://jsfiddle.net/tYRJ2/2/. (CSS chưa hoàn chỉnh, nhưng nó hiển thị vấn đề.)
var sliderActive = false;
var slider;
function createSlider() {
slider = jQuery('.bxslider').bxSlider({
adaptiveHeight: false,
swipeThreshold: 40,
controls: true,
auto: true,
pause: 6000,
autoHover: true,
});
return true;
}
//create slider if new page is wide
jQuery(document).ready(function(){
if (window.innerWidth > 502) {
sliderActive = createSlider();
}
});
//create/destroy slider based on width
jQuery(window).resize(function() {
//if wide and no slider, create slider
if (window.innerWidth > 502 && sliderActive == false) {
sliderActive = createSlider();
}
//else if narrow and active slider, destroy slider
else if (window.innerWidth <= 502 && sliderActive == true){
slider.destroySlider();
sliderActive = false;
location.reload(); //fudgey
}
//else if wide and active slider, or narrow and no slider, do nothing
});
Bất kỳ trợ giúp nào được đánh giá cao!
tôi bắt đầu bạn một [*** jsFiddle ĐÂY ***] (http: //jsfiddle.net/SpYk3/tYRJ2/), nếu bạn chỉ có thể thêm HTML của mình, lưu nó và đăng liên kết, chúng tôi có thể tìm ra điều này dễ dàng hơn nhiều – SpYk3HH
Bây giờ vấn đề tiếp theo, tôi không thấy nơi bạn có bất kỳ thiết lập kiểu dáng "phụ" nào. theo như tôi thấy, thanh trượt đang phá hủy và xây dựng lại như đã nói trên thay đổi kích thước cửa sổ. Một suy nghĩ, nếu bạn muốn có một dif "không trượt" phong cách cho 'ul' khi bxslider bị phá hủy, sau đó đặt ul trong một div được đặt tên. Nếu bạn nhìn vào html của bạn sau khi tải, bạn sẽ thấy rằng bxslider di chuyển ul của bạn bên trong div riêng của nó, do đó nếu bạn có một số css như '#myDiv> ul' thì kiểu ul của bạn sẽ CHỈ áp dụng khi thanh trượt bị phá hủy, do đó cho bạn phong cách riêng của bạn cho các cửa sổ nhỏ hơn – SpYk3HH
ooo, nm, khi xem lại thêm, tôi thấy rằng bxslider KHÔNG ĐƯỢC LOẠI. Không hoàn toàn. Các css được thay đổi, và html, nhưng lệnh vẫn đang được gửi đến elment có lớp "bxslider". Đây là trường hợp. đặt một ID trên UL của bạn và sử dụng nó như là bộ chọn của bạn. 'removeClass' lớp bxslider khi bạn hủy và hơn nữa khi tái tạo – SpYk3HH