Javascript HTML5输入类型=";“范围”;图像不透明度
我目前有两个图像和一个输入:Javascript HTML5输入类型=";“范围”;图像不透明度,javascript,jquery,css,html,input,Javascript,Jquery,Css,Html,Input,我目前有两个图像和一个输入: <input type="range" min="0" max="50" value="25"> .image_1 { filter: blur(5px); opacity: .8; } .image_2 { filter: blur(5px); opacity: .8; } 由于所有这些伟大的答案,我想我已经找到了解决办法。然而,我仍然有一个问题,调整不透明度。以下是当前关于它的开放性问题:更新 如果您有两张图像,并且想要更改不透
<input type="range" min="0" max="50" value="25">
.image_1 {
filter: blur(5px);
opacity: .8;
}
.image_2 {
filter: blur(5px);
opacity: .8;
}
由于所有这些伟大的答案,我想我已经找到了解决办法。然而,我仍然有一个问题,调整不透明度。以下是当前关于它的开放性问题:更新 如果您有两张图像,并且想要更改不透明度,您仍然可以侦听
change
事件
第一幅图像的不透明度值将是输入范围的值除以其最大值。第二幅图像的不透明度值将是最大值与当前值之差除以最大值
换句话说,一个图像将变得更加透明,而另一个图像将变得更加不透明
var range=document.getElementById(“range”);
var imgOne=document.getElementsByClassName(“img1”)[0];
var imgTwo=document.getElementsByClassName(“img2”)[0];
range.addEventListener(“更改”,函数(){
imgOne.style.opacity=this.value/this.max;
imgTwo.style.opacity=(this.max-this.value)/this.max;
});代码>
.img1、.img2{
不透明度:0.5;
}
更新
如果您有两张图像,并且想要更改不透明度,您仍然可以侦听change
事件
第一幅图像的不透明度值将是输入范围的值除以其最大值。第二幅图像的不透明度值将是最大值与当前值之差除以最大值
换句话说,一个图像将变得更加透明,而另一个图像将变得更加不透明
var range=document.getElementById(“range”);
var imgOne=document.getElementsByClassName(“img1”)[0];
var imgTwo=document.getElementsByClassName(“img2”)[0];
range.addEventListener(“更改”,函数(){
imgOne.style.opacity=this.value/this.max;
imgTwo.style.opacity=(this.max-this.value)/this.max;
});代码>
.img1、.img2{
不透明度:0.5;
}
我还没有检查这段代码,所以我不确定这是否有效
我还没有检查这段代码,所以我不确定这是否有效。试试这段代码。我在我的网站上使用了这个代码
试试这个片段。我在我的网站上使用了这个代码
这是另一个例子
美元("img1).法德托(0,0.5),;
美元(img2).fadeTo(0,0.5),;
$(“#滑块”).change(函数(){
var rangeVal=$(“#滑块”).val();
var val1=(范围VAL/50);
var val2=((50范围VAL)/50);
$(“#img1”).fadeTo(0,val1);
$(#img2”).fadeTo(0,val2);
});
这里是另一个例子
美元("img1).法德托(0,0.5),;
美元(img2).fadeTo(0,0.5),;
$(“#滑块”).change(函数(){
var rangeVal=$(“#滑块”).val();
var val1=(范围VAL/50);
var val2=((50范围VAL)/50);
$(“#img1”).fadeTo(0,val1);
$(#img2”).fadeTo(0,val2);
});
完成。正如您可能已经注意到的那样,没有真正的方法只使用CSS来实现这一点。您还可以将dom中的max blur作为另一个函数参数发送,以使代码更加模块化。另外,别忘了添加所有的过滤器实现(因为时间关系,我只添加了webkit),还要注意IE10,因为onchange可能会有一些问题。看
编辑:添加了跨浏览器过滤器设置兼容性
var配置={
img1:document.querySelector('.image_1'),
img2:document.querySelector('.image_2'),
maxpx:10
}
函数getInput(值,最大值){
var sliderPercentage=(值/最大值).toFixed(2);
config.img1.style.opacity=1-滑块百分比;
setBlur(config.img1,(10*sliderPercentage.toFixed(2));
config.img2.style.opacity=sliderPercentage;
setBlur(config.img2,10-(10*sliderPercentage).toFixed(2));
config.img2.style.webkitFilter=“blur”(+(10-(10*sliderPercentage).toFixed(1))+“px)”;
}
函数setBlur(el,值){
if(el.style.hasOwnProperty('filter'))
el.style.filter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('webkitFilter'))
el.style.webkitFilter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('mozFilter'))
el.style.mozFilter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('oFilter'))
el.style.oFilter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('msFilter'))
el.style.msFilter=“模糊(“+value+”px)”;
}
.image\u 1,
.图2{
宽度:150px;
}
图1{
过滤器:模糊(5px);
不透明度:.8;
}
.图2{
过滤器:模糊(5px);
不透明度:.8;
}
完成。正如您可能已经注意到的那样,没有真正的方法只使用CSS来实现这一点。您还可以将dom中的max blur作为另一个函数参数发送,以使代码更加模块化。另外,别忘了添加所有的过滤器实现(因为时间关系,我只添加了webkit),还要注意IE10,因为onchange可能会有一些问题。看
编辑:添加了跨浏览器过滤器设置兼容性
var配置={
img1:document.querySelector('.image_1'),
img2:document.querySelector('.image_2'),
maxpx:10
}
函数getInput(值,最大值){
var sliderPercentage=(值/最大值).toFixed(2);
config.img1.style.opacity=1-滑块百分比;
setBlur(config.img1,(10*sliderPercentage.toFixed(2));
config.img2.style.opacity=sliderPercentage;
setBlur(config.img2,10-(10*sliderPercentage).toFixed(2));
config.img2.style.webkitFilter=“blur”(+(10-(10*sliderPercentage).toFixed(1))+“px)”;
}
函数setBlur(el,值){
if(el.style.hasOwnProperty('filter'))
el.style.filter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('webkitFilter'))
el.style.webkitFilter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('mozFilter'))
el.style.mozFilter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('oFilter'))
el.style.oFilter=“模糊(“+value+”px)”;
if(el.style.hasOwnProperty('msFilter'))
el.style.msFilter=“模糊(“+value+”px)”;
}<
function showVal(newVal) {
var img_1 = document.getElementById("img_1");
var img_2 = document.getElementById("img_2");
// code to change blur upon value of slider changing (img_1.style.etc)
// unsure how to do
console.log(newVal);
}
var val=25;
$("input[type='range']").change(function(){
if($(this).val()>val){
$(".image_2").css({
"filter":"blur(0px)",
"opacity":"1"
});
$(".image_1").css({
"opacity":"0"
});
} else {
$(".image_1").css({
"filter":"blur(0px)",
"opacity":"1"
});
$(".image_2").css({
"opacity":"0"
});
}
val=$(this).val();
});
$(document).ready(function(){
$("#designer").mouseenter(function(){
$("#xyz").attr("src", "design.jpg");
$("#face").css("background-image", "url(des2.jpg)");
$("#coder").css("opacity", "0.5");
});
$("#designer").mouseleave(function(){
$("#xyz").attr("src", "def.jpg");
$("#coder").css("opacity", "");
});
$("#coder").mouseenter(function(){
$("#xyz").attr("src", "cp2.jpg");
$("#designer").css("opacity", "0.5");
$("#face").css("background-image", "url(coding.jpg)");
});
$("#coder").mouseleave(function(){
$("#xyz").attr("src", "def.jpg");
$("#face").css("background-image", "url()");
$("#designer").css("opacity", "");
});
});
<input id="slider" type="range" min="0" max="50" value="25">
<img id="img1" src="http://www.pd4pic.com/images/number-1-red-circle.png" alt="Smiley face" height="200" width="200">
<img id="img2" src="http://images.clipartpanda.com/numbers-clipart-1-10-4cb4KkKgi.png" alt="Smiley face" height="200" width="200">
$("#img1").fadeTo(0,0.5);
$("#img2").fadeTo(0,0.5 ) ;
$("#slider").change(function() {
var rangeVal = $("#slider").val();
var val1 = (rangeVal/50);
var val2 = ((50-rangeVal)/50);
$("#img1").fadeTo(0,val1);
$("#img2").fadeTo(0,val2 ) ;
});