我正在尝试设置除导航之外的交叉淡入淡出图像的导航。但放在它之间是行不通的。
所以我的意图是,如果点击了家,关于,工作或联系,(一页)将加载内容,导航显示当前页面的正确图像。
HTML: <div id="cf7" class="shadow">
<img class='opaque' src="/images/Cirques.jpg" />
<img src="/images/Clown%20Fish.jpg;" />
<img src="/images/Stones.jpg;" />
<img src="/images/Summit.jpg;" />
</div>
<p id="cf7_controls">
<span class="selected">Home</span>
<span>About</span>
<span>Work</span>
<span>Contact</span>
</p>
CSS
p#cf7_controls {
text-align:center;
}
#cf7_controls span {
padding-right:2em;
cursor:pointer;
}
#cf7 {
position:relative;
height:281px;
width:450px;
margin:0 auto 10px;
}
#cf7 img {
position:absolute;
left:0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
opacity:0;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
}
#cf7 img.opaque {
opacity:1;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=1);
}
JAVASCRIPT
$(document).ready(function() {
$("#cf7_controls").on('click', 'span', function() {
$("#cf7 img").removeClass("opaque");
var newImage = $(this).index();
$("#cf7 img").eq(newImage).addClass("opaque");
$("#cf7_controls span").removeClass("selected");
$(this).addClass("selected");
});
});
答案 0 :(得分:0)
这是构建导航的一种非常不寻常的方式。你甚至不使用锚标签;那些与旧版浏览器的兼容性最高,例如:hover。
对于您的示例,您需要这样的语法,以显示正确的图像:
<span>About</span>
span {
background-image: none;
}
span#your_span_id:hover, span.selected {
background-image: url('path/to/your/img');
}
但是,如果您想在一个页面上加载内容,则至少需要javascript / jquery才能动态添加/删除&#39; .selected&#39;类。一个CSS解决方法是将您的内容div嵌套在导航中(并显示:隐藏它们,在悬停时显示它们),但在这种情况下,您需要为内容div中的每个元素指定光标,并且只要您的访问者鼠标指定在内容div中,它将消失。点击events = javascript