具有固定img位置的Superslides.js
Superslides.js with fixed img position
案例:
我们的网站在页面顶部运行了一个超级滑动插件,在页面结束前被剪掉了大约100像素,所以我们有一个菜单栏。当你向下滚动时,菜单栏会滚动并固定在顶部,这是应该做的。然而,图像也会滚动,这是我们不想要的。我们希望图像固定在背景上,这样看起来一切都在超级滑坡的图像上滚动。
我们测试领域的工作如下所示:http://test.thewebfanatics.com/jellyweb/
问题:
由于它有一个图像标签,我无法在背景图像上覆盖它的位置,这对我来说是合乎逻辑的方法,但由于它是一个滑块和javascript驱动的,我不得不采取不同的方法。
当我试图在滑块上添加一个固定的位置时,无论我抓取哪个div,它都会移动,菜单栏会消失,只有当我开始滚动并到达我告诉它固定在顶部的位置时才会出现,但是滑块保持固定,但内容会向上移动。我还在调用实例的js中尝试将可滚动变量设置为false,但都没有成功。我认为这是一个绝对和相对立场的问题,但我似乎无法弄清楚。
代码
代码本身很长,但我会尝试给你相关的代码
<div class="topwrap">
<div class= "resolutionwrap hidden-phone" id="slider">
<div id="slides">
<ul class="slides-container" id="home">
<li>
<img src="img/slides/picture4.jpg"/>
<div class="containercaption">
<div class="row">
<div class="hidden-xs hidden-sm col-md-8 col-lg-8 col-md-offset-2 col-lg-offset-2">
<h3 class="captiontitle">
<?php
switch ($_SESSION['language']) {
case "nl":
echo "The Web Fanatics Slaan een brug tussen jou en je doelgroep";
break;
case "en":
echo "The Web Fanatics create a bridge between you and your targetgroup";
break;
case "pl":
echo "Poolse vertaling";
break;
}
?>
</h3>
</div>
</div>
</div>
</li>
<li>
<a href="http://test.jellyfishwebdesign.nl/jellyweb/diensten/webdesign"><img src="img/slides/responsive-slide.jpg" width="1680" height="auto" alt=""/></a>
<div class="containercaption">
<div class="row">
<div class="hidden-xs hidden-sm col-md-8 col-lg-8 col-md-offset-2 col-lg-offset-2">
<h3 class="captiontitle">Mobile Friendly & Responsive Design</h3>
</div>
</div>
</div>
</li>
</ul>
</div>
<!-- end slider -->
<nav>
(whole bunch of nav code)
</nav>
</div>
</div>
<section class="content">
(filled with content)
</section>
滑块的CSS
#slides {
position: relative;
}
#slides .slides-container {
display: none;
}
#slides .scrollable {
*zoom: 1;
position: relative;
top: 0;
left: 0;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
height: 100%;
}
#slides .scrollable:after {
content: "";
display: table;
clear: both;
}
.slides-navigation {
margin: 0 auto;
position: absolute;
z-index: 3;
top: 46%;
width: 100%;
}
.slides-navigation a {
position: absolute;
display: block;
}
.slides-navigation a.prev {
left: 0;
}
.slides-navigation a.next {
right: 0;
}
.slides-pagination {
position: absolute;
z-index: 3;
bottom: 0;
text-align: center;
width: 100%;
}
.slides-pagination a {
border: 2px solid #222;
border-radius: 15px;
width: 10px;
height: 10px;
display: -moz-inline-stack;
display: inline-block;
vertical-align: middle;
*vertical-align: auto;
zoom: 1;
*display: inline;
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGP6zwAAAgcBApocMXEAAAAASUVORK5CYII=");
margin: 2px;
overflow: hidden;
text-indent: -100%;
}
.slides-pagination a.current {
background: #222;
}
.resolutionwrap {
min-height: 100%;
padding: 0;
background: #fff;
z-index: 0;
}
最后是javascript
$(window).scroll(function () {
if ($('.resolutionwrap').length == 1) {
var documentScrollTop = $(document).scrollTop() + 100;
var fixedToggle = $('#slides').height();
if (documentScrollTop > fixedToggle) {
$('#hoofdmenu').addClass('fixed');
$('#hoofdmenu').css("margin-top", "0px");
} else {
$('#hoofdmenu').removeClass('fixed');
$('#hoofdmenu').css("margin-top", "-100px");
}
}
});
function getUrlParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var p = getUrlParameter('p');
var str = window.location.pathname;
var page = str.split("/");
x=page[2];
var l = x=page[2];
if (p === 'home' || p === undefined){
if (l === 'home' || l === 'undefined' || l === ''){
$('#slides').superslides({
play: 5000,
scrollable: false
});
} else {
$('#hoofdmenu').addClass('fixed');
$('.resolutionwrap').addClass('banner-place');
}
} else {
$('#hoofdmenu').addClass('fixed');
$('.resolutionwrap').addClass('banner-place');
}
添加位置:固定!重要的到#张幻灯片,然后添加z索引:1;到#幻灯片。之后,您可以添加z索引:2;到必须在滑块上方可见的元素。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Selectize.js:如何对整数值的选项进行排序
- 具有固定img位置的Superslides.js