Javascript不会淡化文本,运行时不会出错

时间:2018-09-12 00:44:58

标签: javascript animation

window.onload = function() {
  window.setTimeout(fadein, 1000); //2 seconds
}
$( document ).on( "mousemove", function( event ) {
$( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY );
 var x = event.pageX; 
 if (x > 1200) {
    function fadein() {
      document.getElementById('fadein').style.opacity = '0';

    }
 }
});

我只希望文本在鼠标x坐标到达特定点后消失。 JavaScript不会出错,我是否缺少任何语法,还是我对应该如何执行此过程没有基本的了解?

我可能期望一些快速常见问题解答:

是的,我已加载JQuery

是的,HTML / CSS的命名都是一致的。

2 个答案:

答案 0 :(得分:1)

  1. 您正在fadein处理程序中定义mousemove。该函数仅在该上下文中可用,因此您的fadein处理函数中的onloadundefined

  2. function fadein() { ... }是一个函数声明。您不调用它,因此函数体永远不会执行!

您应该在mousemove处理函数的外部 中定义函数,并通过调用运算符if()语句中对其进行调用,即:{{1 }}。

fadein()

请注意,将CSS function fadein() { document.getElementById('fadein').style.opacity = '0'; } window.onload = function() { window.setTimeout(fadein, 1000); //2 seconds? } $( document ).on( "mousemove", function( event ) { $( "#log" ).text( "pageX: " + event.pageX + ", pageY: " + event.pageY ); var x = event.pageX; if (x > 1200) { fadein(); } }); 设置为opacity会使元素不可见。因此它实际上是淡出元素。

答案 1 :(得分:1)

尝试这样。

function fadein() {
  document.getElementById('fadein').style.opacity = '0';
}
window.onload = function() {
window.setTimeout(fadein, 1000); //2 seconds
}
$( document ).on( "mousemove", function( event ) {
$( "#log" ).text( "pageX: " + event.pageX + ", pageY: " +       event.pageY );
var x = event.pageX; 
if (x > 1200) {
 fadein()
}
});