javascript - 背景不会移动

标签 javascript html css

我的代码似乎没有触发,出于某种奇怪的原因,我不知道为什么。鼠标移动应该会导致背景移动,但什么也没有发生。

<html>

<div id="pageBg">
</div>

</html>

<style>
#pageBg {
background: url(http://****.com/tes.jpg) no-repeat 0 0      
scroll;    
height: auto;
left: 0;
min-height: 1920px;
min-width: 1080px;
overflow: hidden;
position: fixed;   
top: 0;
width: 100%;
}

</style>

<script>

$(document).ready(function(){
$('#pageBg').mousemove(function(e){
  var mousePosX = (e.pageX/$(window).width())*100;
  $('#pageBg').css('background-position-x', mousePosX +'%');

   var mousePosY = (e.pageY/$(window).height())*100;
$('#pageBg').css('background-position-y', mousePosY +'%');
}); 
});

</script>

最佳答案

当您以正确的顺序编写代码并包含 jQuery 时,一切似乎都很好:

$(document).ready(function() {
  $('#pageBg').mousemove(function(e) {
    var mousePosX = (e.pageX / $(window).width()) * 100;
    $('#pageBg').css('background-position-x', mousePosX + '%');

    var mousePosY = (e.pageY / $(window).height()) * 100;
    $('#pageBg').css('background-position-y', mousePosY + '%');
  });
});
#pageBg {
  background: url(http://www.europeantouchskincare.com/tes.jpg) no-repeat 0 0 scroll;
  height: auto;
  left: 0;
  min-height: 1920px;
  min-width: 1080px;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="pageBg">
</div>

所以你的最终代码将是:

<html>
    <head>
        <style>
        #pageBg {
            background: url(http://www.europeantouchskincare.com/tes.jpg) no-repeat 0 0      
            scroll;    
            height: auto;
            left: 0;
            min-height: 1920px;
            min-width: 1080px;
            overflow: hidden;
            position: fixed;   
            top: 0;
            width: 100%;
        }
        </style>
    </head>
    <body>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $('#pageBg').mousemove(function(e){
                    var mousePosX = (e.pageX/$(window).width())*100;
                    $('#pageBg').css('background-position-x', mousePosX +'%');
                    var mousePosY = (e.pageY/$(window).height())*100;
                    $('#pageBg').css('background-position-y', mousePosY +'%');
                }); 
            });
        </script>
        <div id="pageBg">
        </div>
    </body>
</html>

关于javascript - 背景不会移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32544073/

相关文章:

javascript - 对 Angular 定位 HTML 元素

javascript - 从嵌套的 html 列表生成多维数组/对象

javascript - 格式化 div 中显示的搜索结果

css - 强制自动换行 - 保持 "code"样式与文本框内联

javascript - 如何使用谷歌应用程序脚本处理谷歌电子表格中的日期

javascript - FlowPlayer onError - 更新剪辑 URL

c# - 使用 CSS 样式将从数据库中检索到的图像显示为列表

javascript - 为什么这个 onmouseover 函数不起作用? -"Cannot read property ' 未定义的显示'

javascript - 跨浏览器很棒的盒子阴影效果

javascript - SystemJS,将 importmap 与模块一起使用,需要使用react