Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 如何编辑JS以使其适用于两个ID?_Javascript_Jquery - Fatal编程技术网

Javascript 如何编辑JS以使其适用于两个ID?

Javascript 如何编辑JS以使其适用于两个ID?,javascript,jquery,Javascript,Jquery,首先,我没有很强的JS工作经验 我在这个社区中发现了以下代码,它工作得非常好。基本上,当您滚动到某个元素的视图时,它会添加一个新类(动画) //如果指定的元素已滚动到视口中,则返回true。 函数IsElementViewPort(elem){ 变量$elem=$(elem); //获取页面的滚动位置。 var scrollem=((navigator.userAgent.toLowerCase().indexOf('webkit')!=-1)?'body':'html'); var view

首先,我没有很强的JS工作经验

我在这个社区中发现了以下代码,它工作得非常好。基本上,当您滚动到某个元素的视图时,它会添加一个新类(动画)

//如果指定的元素已滚动到视口中,则返回true。
函数IsElementViewPort(elem){
变量$elem=$(elem);
//获取页面的滚动位置。
var scrollem=((navigator.userAgent.toLowerCase().indexOf('webkit')!=-1)?'body':'html');
var viewportTop=$(scrolllem.scrollTop();
var viewportBottom=viewportTop+$(window).height();
//获取元素在页面上的位置。
var elemTop=Math.round($elem.offset().top);
var elemBottom=elemTop+$elem.height();
返回((elemTopviewportTop));
}
//检查是否是开始动画的时间。
函数checkAnimation(){
var$elem=$(“#反馈”);
//如果动画已经启动
if($elem.hasClass('fadeInUp'))返回;
如果(IsElementViewPort($elem)){
//启动动画
$elem.addClass('fadeInUp');
}
}
//捕获滚动事件
$(窗口)。滚动(函数(){
检查动画();

});您可以执行该方法两次,并使用“&&”操作检查结果是否均为真

if (isElementInViewport('#feedback') && isElementInViewport('#goback')) {
    // DO SOMETHING
}
在您的示例中,这看起来像这样:

// Check if it's time to start the animation.
function checkAnimation() {
  var $elem1 = $('#feedback');
  var $elem2 = $('#goback');

  // If the animation has already been started
  if ($elem.hasClass('fadeInUp')) return;

  if (isElementInViewport($elem1) && isElementInViewport($elem2)) {
    // Start the animation
    $elem.addClass('fadeInUp');
  }
}
解决

//如果指定的元素已滚动到视口中,则返回true。
函数IsElementViewPort(elem){
变量$elem=$(elem);
//获取页面的滚动位置。
var scrollem=((navigator.userAgent.toLowerCase().indexOf('webkit')!=-1)?'body':'html');
var viewportTop=$(scrolllem.scrollTop();
var viewportBottom=viewportTop+$(window).height();
//获取元素在页面上的位置。
var elemTop=Math.round($elem.offset().top);
var elemBottom=elemTop+$elem.height();
返回((elemTopviewportTop));
}
//检查是否是开始动画的时间。
函数checkAnimation(){
var$elem=$(“#反馈”);
变量$elem2=$(“#goback”);
if($elem2.hasClass('fadeInUp'))返回;
如果(IsElementViewPort($elem2)){
//启动动画
$elem2.addClass('fadeInUp');
}
//如果动画已经启动
if($elem.hasClass('fadeInUp'))返回;
如果(IsElementViewPort($elem)){
//启动动画
$elem.addClass('fadeInUp');
}
}
//捕获滚动事件
$(窗口)。滚动(函数(){
检查动画();

});谢谢。我现在正在尝试。不幸的是,它不起作用。“现在有身份证了吗?”马特考林,你能帮我吗?(这是您的代码)