Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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 如果屏幕足够宽并且父div在视图中,则加载脚本_Javascript_Jquery - Fatal编程技术网

Javascript 如果屏幕足够宽并且父div在视图中,则加载脚本

Javascript 如果屏幕足够宽并且父div在视图中,则加载脚本,javascript,jquery,Javascript,Jquery,当视口为1250px或更宽时,我的网站上当前显示了一个twitter提要。因此,当屏幕足够宽时,它会调用一些内容(调用twitter提要的javaScript文件) 我现在的代码是 function checkSize(){ if ($(window).width() > 1250) { $(".tweet").load("/ajax/"); } } checkSize(); $(window).resize(function() { check

当视口为1250px或更宽时,我的网站上当前显示了一个twitter提要。因此,当屏幕足够宽时,它会调用一些内容(调用twitter提要的javaScript文件)

我现在的代码是

function checkSize(){
    if ($(window).width() > 1250) {
        $(".tweet").load("/ajax/");
    }
}

checkSize();

$(window).resize(function() {
    checkSize();
});
现在这一切都很好,但是由于twitter脚本位于页面底部附近,如何仅在div出现在用户视图中时加载脚本

我已经尝试过类似的东西,但它不起作用

function checkSize(){
    if ($(window).width() > 1250 && $(".tweet").is(':visible'))  {
        $(".tweet").load("/ajax/");
    }
}
因此,为了确认,我只想在屏幕宽度为1250px或更宽时以及当用户位于页面底部以便父div可见(.tweet)时调用此内容

任何帮助都将不胜感激


我在这里添加了一个代码笔来测试如果
div
可见,您必须了解用户滚动了多远才能识别。 因此,您可以做的是(从mobile编写,没有检查代码的语法错误):

var-load=false;
var接近度=0;
如果(已加载==false){
$(窗口)。滚动(函数(){
var scrollbooth=$(“.tweet”).offset().top-$(window.scrollTop();
var windowWidth=$(window.width();
如果(滚动底部1250&&loaded==false)
{
$(“.tweet”).load(“/ajax/”);
加载=真;
}
});
}

希望这对您有所帮助。

这将确定用户是否已向下滚动足够远,以使其可见

function checkSize(){
    if ($(window).width() > 1250 && $(".tweet").offset().top < $(window).scrollTop())  {
        $(".tweet").load("/ajax/");
    }
}
函数checkSize(){
if($(window.width()>1250&&$(“.tweet”).offset().top<$(window.scrollTop()){
$(“.tweet”).load(“/ajax/”);
}
}

我认为您必须进行一些计算,以查看div在视口中是否可见。请参见
.offset()
.scrollTop())
以确定div在视口中的位置。然后,如果尚未加载,则必须附加到滚动事件,并在滚动时重新计算。谢谢,但这似乎无法单独工作,除了将其添加到函数中,然后调用该函数之外,我还需要做些什么吗?不要在其他函数中添加它n、 您不必调用它。只需像这里写的那样复制和粘贴即可。(您可以将其添加到
$(文档)。就绪(..
函数)它似乎仍然不起作用,我添加了一个代码笔来测试它,谢谢,但这似乎不起作用,我还需要添加其他内容吗?
function checkSize(){
    if ($(window).width() > 1250 && $(".tweet").offset().top < $(window).scrollTop())  {
        $(".tweet").load("/ajax/");
    }
}