Javascript jquery在页面加载后重新启动函数

Javascript jquery在页面加载后重新启动函数,javascript,jquery,screen-orientation,Javascript,Jquery,Screen Orientation,我有一个在网站上生成图书用户界面的函数。问题在于Javascript/JQuery细节以绝对像素为单位接受宽度和高度的书本大小,而不是以百分比或任何其他格式 例如: $( document ).ready(function() { $("#guestbook").turn({ width: 500, /* pixels */ height: 360, autoCenter: true }); }); 这样做的问题是网站是移动兼容的

我有一个在网站上生成图书用户界面的函数。问题在于Javascript/JQuery细节以绝对像素为单位接受宽度和高度的书本大小,而不是以百分比或任何其他格式

例如:

$( document ).ready(function() {
    $("#guestbook").turn({
        width: 500, /* pixels */
        height: 360,
        autoCenter: true
    });
});
这样做的问题是网站是移动兼容的(当然),因此一个小型智能手机设备的书的最大宽度应该是300px,但显然在大屏幕上看起来非常小

因此,我在Javascript上运行一个媒体查询,根据浏览器大小设置宽度/高度值。我将其设置为一个函数,该函数在文档就绪以及窗口调整大小和窗口方向更改时启动

Jquery:

function guestbookSize() {
    if ($(window).width() > 1200) {
        $("#guestbookbook").turn({
            width: 700,
            height: 500
        });
    }
    else if ($(window).width() <= 1200 && $(window).width() > 801) {
        $("#guestbookbook").turn({
            width: 500,
            height: 360
        });
    }
    else if ($(window).width() <= 800 && $(window).width() > 360) {
       /* You get the idea */ 
    }
    else if ($(window).width() <= 360) {
        $("#guestbookbook").turn({
            width: 300,
            height: 360
        });
    }
}

$( document ).ready(function() {
    $(document).ready(guestbookSize);
});
$(window).on("orientationchange",guestbookSize);
$(window).resize(guestbookSize);
函数guestbookSize(){
如果($(窗口).width()>1200){
$(“#留言簿”)。转({
宽度:700,
身高:500
});
}
else if($(窗口).width()801){
$(“#留言簿”)。转({
宽度:500,
身高:360
});
}
else if($(窗口).width()360){
/*你明白了吗
}

else if($(window).width()我在
document.ready
中添加了事件绑定并删除了重复项

在Chrome 48、FF 43和IE9上测试,似乎都能工作(在Windows上)

$(文档).ready(函数(){
initBook(300400);
$(窗口)。打开(“方向更改”,留言簿大小);
$(窗口)。调整大小(留言簿大小);
});
函数initBook(w,h){
$(“#动画书”)。翻({
宽度:w,
身高:h
});
}
函数guestbookSize(){
如果($(窗口).width()>1200){
initBook(700500);
}else if($(窗口).width()801){
initBook(500360);
}else if($(窗口).width()360){
initBook(400360);

}否则如果($(window).width()您有任何错误吗?或者它只是没有调整大小?错误添加在底部,@ochiCan您可以尝试
window.addEventListener('resize',function(){},true)
看看这是否有什么不同?@archana我已经将侦听器添加到文档就绪函数中,但这并没有改变任何东西。我将侦听器添加到了
文档中。就绪
似乎对我有效:-另外,在您的文档中,您已经准备好了另一个文档!!??谢谢。这可能值得注意我用的是Turn4,但你的提琴似乎用的是turn3。也许我应该用这个版本而不是4来试试。@Martin我更新了提琴:jquery 1.11.0;turnjs 4-仍然可以在FF44和Chrome 48上使用。谢谢你,你的浏览器上的真实效果如何?如果页面刷新,它总是会显示正确的大小/比例b“但窗口大小调整从来就没有这么做过。@Martin我必须马上去做,但在Chrome上,它可以按预期工作-当我调整浏览器窗口大小时,它可以调整书本的大小(不需要刷新)。这太棒了。但现在我不明白为什么它不能在我的浏览器上这样做!!谢谢你的帮助,Ochi!”