Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用click()方法的firefox屏幕问题_Javascript_Jquery - Fatal编程技术网

Javascript 使用click()方法的firefox屏幕问题

Javascript 使用click()方法的firefox屏幕问题,javascript,jquery,Javascript,Jquery,这个问题与Firefox在调用函数时将浏览器窗口刷新到100%有关。 如果浏览器视图为75%,我使用链接上的.click方法-页面刷新为100%,则函数执行。Safari在不刷新窗口的情况下执行该函数 代码现在看起来像: function hideFlag(){ $("#ftm").click(function () { var stageWidth = $("#window_div").width(); if (stageWidth <= 1200){

这个问题与Firefox在调用函数时将浏览器窗口刷新到100%有关。 如果浏览器视图为75%,我使用链接上的.click方法-页面刷新为100%,则函数执行。Safari在不刷新窗口的情况下执行该函数

代码现在看起来像:

function hideFlag(){

    $("#ftm").click(function () { 

    var stageWidth = $("#window_div").width();
    if (stageWidth <= 1200){

        $( "#window_div" ).animate({
            width: 1250,
          opacity: ".8",
        }, 1000 );
        $( "#flagDiv" ).animate({
          opacity: "0",
          }, 1000 ); 
        }
    else{
        $( "#window_div" ).animate({
        width: 500,
        opacity: ".6",
        }, 1000 );
        $( "#flagDiv" ).animate({
        opacity: "1",
        }, 1000 );
        }   
    });
}
函数hideFlag(){
$(“#ftm”)。单击(函数(){
var stageWidth=$(“#window_div”).width();
如果(stageWidth不是说这是对你问题的直接回答,而是评论的时间太长了

您正在使用jQuery。我认为您忽略了整个跨浏览器库的要点。更改

stageWidth = document.getElementById("window_div").clientWidth

不需要特定于浏览器的代码。在使用jQuery时,也不需要使用
addEventHandler
函数。它会处理浏览器之间的差异,因此您不必这样做。这意味着您可以将
setUpClickHandler
函数更改为:

function setUpClickHandler() {
    $('#ftm').click(hideFlag);
    $('#ath').click(showFlag);
}
并将
showFlag
更改为:

function showFlag(e){
    $('#flagDiv').show();
}
改变

addEventHandler(window, "load", setUpClickHandler, false);


谢谢Matt。这非常有帮助,解决了我的style.pixelWidth vs clientWidth问题。不幸的是,这仍然让我对Firefox中出现的屏幕大小调整/缩放问题一无所知。谢谢你的帮助。你的额外代码更改比我以前的代码要简单得多。虽然Safari执行了完美的埃斯利。
function showFlag(e){
    $('#flagDiv').show();
}
addEventHandler(window, "load", setUpClickHandler, false);
$(window).load(setUpClickHandler);