Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 揭幕流体宽度标题图像_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 揭幕流体宽度标题图像

Javascript 揭幕流体宽度标题图像,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正试图揭开一个反应灵敏的背景图像。基本上,我有一个负载值。比如说50%。所以我希望我的图像的一半是尖锐的,另一半是模糊的 我以前从未这样做过,所以我有了制作两幅图像的想法:一幅是普通的,一幅是模糊的 HTML-两个空div。这些div位于容器流体div中,因此它们的宽度在每次调整窗口大小时都会发生变化,这一点很重要 <div class="col-lg-9 left-header"> <div class="overlay"> </div>

我正试图揭开一个反应灵敏的背景图像。基本上,我有一个负载值。比如说50%。所以我希望我的图像的一半是尖锐的,另一半是模糊的

我以前从未这样做过,所以我有了制作两幅图像的想法:一幅是普通的,一幅是模糊的

HTML-两个空div。这些div位于容器流体div中,因此它们的宽度在每次调整窗口大小时都会发生变化,这一点很重要

<div class="col-lg-9 left-header">
    <div class="overlay">
    </div>
    <div class="bg">
    </div>
</div>
<div class="col-lg-3 right-header">
  // some stuff
</div>
非模糊背景

.bg {
    background:url('../img/bg.jpg');
    background-size:cover;
    background-position:right;
    height:580px;
}
正如您在JSFIDLE中看到的,存在一个大问题,尤其是在大宽度的情况下。实际上,我想使用.overlay的宽度参数。但是,两个背景封面图像的比例不同,因此效果不起作用


理想情况下,最后我想用jquery设置宽度。例如,如果我的值是50%,那么我告诉jquery将.overlay设置为50%的宽度。但是我的解决方案不起作用了,我怎么能为两个具有不同div大小的背景图像保持相同的尺寸在保持响应效果的同时

我用纯CSS实现了这一效果,请享受:

代码如下:

。揭开容器的面纱{
宽度:100%;
位置:相对位置;
溢出:隐藏;
背景大小:100%100%;
背景图像:url('http://www.planwallpaper.com/static/images/wallpapers-hd-8000-8331-hd-wallpapers.jpg');
填充:0;
/*这是为了保持比例-如果不想,请删除*/
显示:内联块;
宽度:100%;
}
/*这是一个比例的整体*/
.揭幕容器::之前{
内容:'';
显示:块;
利润率最高:50%;
}
.覆盖{
背景:url('http://www.planwallpaper.com/static/images/wallpapers-hd-8000-8331-hd-wallpapers.jpg');
身高:100%;
/*玩弄宽度*/
宽度:50%;
排名:0;
背景位置:100%0;
背景大小:200%100%;
位置:绝对位置;
左:50%;
-webkit过滤器:模糊(5px);
}
.bg{
位置:绝对位置;
左:0;
排名:0;
宽度:50%;
背景:url('http://www.planwallpaper.com/static/images/wallpapers-hd-8000-8331-hd-wallpapers.jpg');
背景大小:200%100%;
背景位置:0%;
身高:100%;
}


//有些东西
您可以设置两个元素,一个在另一个内部,然后使用translate将它们向相反方向翻译

使用javascript很容易制作动画

使用此布局,元素的宽度为100%,背景可以覆盖(或包含)

var target1,target2,步骤;
函数移动(){
target1.style.transform=“translateX(“+step+”%)”;
target2.style.transform=“translateX(-“+step+”%)”;
步骤-=1;
如果(步骤<0)步骤=100;
}
函数启动(){
target1=document.getElementById('moving');
target2=target1.儿童[0];
步骤=50;
设置间隔(移动,20);
}
.base{
宽度:80%;
高度:300px;
位置:相对位置;
溢出:隐藏;
}
.形象{
位置:绝对位置;
宽度:100%;
身高:100%;
顶部;0px;
左:0px;
背景图像:url('http://www.planwallpaper.com/static/images/wallpapers-hd-8000-8331-hd-wallpapers.jpg');
背景尺寸:封面;
}
.覆盖{
位置:绝对位置;
宽度:100%;
身高:100%;
顶部;0px;
左:0px;
z指数:2;
溢出:隐藏;
转化:translateX(50%);
}
.overlayimage{
位置:绝对位置;
宽度:100%;
身高:100%;
顶部;0px;
左:0px;
背景图像:url('http://www.planwallpaper.com/static/images/wallpapers-hd-8000-8331-hd-wallpapers.jpg');
背景尺寸:封面;
转化:translateX(-50%);
-webkit过滤器:模糊(5px);
-webkit过滤器:反转();
}

开始
.bg {
    background:url('../img/bg.jpg');
    background-size:cover;
    background-position:right;
    height:580px;
}