gpt4 book ai didi

javascript - 更改 BG 图像的代码不起作用,但可以更改 BG 颜色

转载 作者:行者123 更新时间:2023-11-28 05:06:30 25 4
gpt4 key购买 nike

我正在尝试根据用户将鼠标悬停在求职者按钮还是招聘人员按钮上来更改背景图片。

我尝试了以下代码(在 JS Fiddle 中有效)但失败了。我插入了一个 background-color 命令(参见注释行)并且效果很好,所以我只能假设它与 background-image 行相关,但我看不出我做错了什么。

图像预加载正常,因为我可以在 Chrome devtools 中检查它们,

这是我的 JS Fiddle 代码:http://jsfiddle.net/bdenson/m7u4vn6u/

$(document).ready(function() {




//Preload
$('<img/>').hide().attr('src', '{{url("/img/candidate.jpg")}}').on ('load',function(){
$('body').append($(this));
});

//Preload
$('<img/>').hide().attr('src', '{{url("/img/recruiter.jpg")}}').on ('load',function(){
$('body').append($(this));
});

// Change BG on Hover - candidate
$('#cand').hover(function() {
$('body').css('background-image', '{{url("/img/candidate.jpg")}}');
//$('body').css('background-color', 'red');
}, function() {
$('body').css('background', '');
});

// Change BG on Hover - recruiter
$('#rec').hover(function() {
$('body').css('background-image', '{{url("/img/recruiter.jpg")}}');
}, function() {
$('body').css('background', '');
});
});

最佳答案

我删除了 jquery 并将其替换为更现代的 webAPI。我希望一切都好。

然而,除非您使用一些旧的 dino-browser,否则这应该在任何地方都能正常工作 :) http://jsfiddle.net/m7u4vn6u/6/

  var bod = document.getElementsByTagName('body')[0];

var pointerPref = "pointer";

// Check support for pointer.
if (!window.PointerEvent && !navigator.pointerEnabled) {
pointerPref = "mouse";
}

//add a eventListener for mouse movement, run mMoveFunc on movement.
document.addEventListener(pointerPref + "move", mMoveFunc);

function mMoveFunc(evt) {
//catch event (evt) on mouse movement
//If evt.target equals one of the buttons(hovering), change bg image.
//It finds the buttons via the id,
//you can do it for any html element that takes a id attribute.
if (evt.target === cand) {
bod.style.backgroundImage = "url('https://static.pexels.com/photos/40120/pexels-photo-40120.jpeg')";
} else if (evt.target === rec) {
bod.style.backgroundImage = "url('https://static.pexels.com/photos/7366/startup-photos.jpg')";
} else { //If none match, remove bg image and show default background.
bod.style.backgroundImage = "";
}

}
body {
background-repeat: repeat;
background-color: darkgrey;

}

.preload {
display:none;
}
<body>

<image class="preload" src="https://static.pexels.com/photos/40120/pexels-photo-40120.jpeg"/>
<image class="preload" src="https://static.pexels.com/photos/7366/startup-photos.jpg"/>

<div class="container">
<button id="cand">Candidate</button>

<button id="rec">Recruiter</button>
</div>
</body>

关于javascript - 更改 BG 图像的代码不起作用,但可以更改 BG 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com