gpt4 book ai didi

javascript - jquery 图像和背景淡入淡出 onclick

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:50 25 4
gpt4 key购买 nike

我一直在四处寻找并使用我发现的点点滴滴(主要是在这个网站上)来帮助我达到我现在的水平,但我担心我会通过走一条路线把自己画到一个 Angular 落里我不应该早点。基本上我正在尝试创建一个电灯开关。加载时,页面背景为黑色,框架周围有黑色背景的图像(有一些眩光/发光,这就是为什么有图像)。当您单击开关时,它会将背景颜色更改为白色,并将该图像更改为其他具有白色背景的图像。这工作正常,但我想添加淡入淡出,所以它不是即时变化,有点像灯光淡入淡出。由于我完成早期部分的方式,我想知道这是否会比它应该的更难。

我已经搜索并阅读了没有容器等的背景颜色不会褪色。只是不确定我将如何处理我已经拥有的东西。我完全愿意接受建议,即使这意味着以不同的方式重做以前的一些事情。我留下了一些评论的东西只是为了展示我以前尝试过的一些东西。我是 jQuery 的新手,所以我希望其中的一些内容可能完全消失。

添加了 fiddle 。图像只是模拟图像,但服务于它们的目的 http://jsfiddle.net/timtim123/7wh4B/

HTML:

<body id="bodyback">

<img id="out" src="rhino.png" width="527" height="376" border="0" />
<img id="frame" src="frame.png" width="589" height="377" border="0" />
<img id="paper" src="paper.png" width="142" height="214" border="0" usemap="#links" />


<img src="background.png" id="backimg"/>
<img src="background2.png" id="backimg" style='display:none;'/>


<div id="lightswitch">
<img src="switchdark.png" width="46" height="275" border="0" alt="Make it light" />
</div>

CSS:

#bodyback   {
background-color:black;}

#backimg
{
position:absolute;
top: 0px;
left: 0px;
z-index: 2;
}
#backimg2
{
position:absolute;
top: 0px;
left: 0px;
z-index: 2;
}
#lightswitch
{
top: 0px;
left: 900px;
position:absolute;
z-index: 7;
}

JS:

 $("#lightswitch").click(function() {

var src = $('#backimg').attr('src');

//change background image and color to white
if(src == 'background.png') {
// $("#backimg").fadeTo('slow', 0.3, function()
// $(this).attr("src","background2.png"),
$("#backimg").attr("src","background2.png"),
$("#bodyback").css("background-color","white");

//change background image and color back
} else if(src == "background2.png") {
$("#backimg").attr("src","background.png");
$("#bodyback").css("background-color","black");
}
});

最佳答案

这是一个非常简单的 jQuery 插件选项,如果您想走那条路的话

一个选项是 jQuery UI color animation .这是一个非常简单的插件,带有易于使用的文档。只需将脚本放在您的 head 标签中,您就可以开始了。

示例(来自 jQuery 文档)

 $(function() {
var state = true;
$( "#button" ).click(function() {
if ( state ) {
$( "#effect" ).animate({
backgroundColor: "#aa0000",
color: "#fff",
width: 500
}, 1000 );
} else {
$( "#effect" ).animate({
backgroundColor: "#fff",
color: "#000",
width: 240
}, 1000 );
}
state = !state;
});
});

你会注意到,你设置了一个 backgroundColor 属性,它会根据任何背景颜色进行动画处理。



根据我的观察,返回并从头开始做一些事情,而不是使用插件,(尽管这可能是学习编写很酷的东西的绝佳练习)有点棘手。取决于您的目的。

关于javascript - jquery 图像和背景淡入淡出 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819171/

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