我一直在疯狂使用juliendecaudin的barousel插件改编的j-query滑块
我把它全部放在jsfiddle上:
这四个导航块是由jquery代码创建的(这就是我遇到这个问题的原因)。因为我需要在每个块上添加文本,所以我在代码中添加了一些p标记,然后将它们放在每个块上。这意味着他们覆盖了链接,因此悬停效果停止了。
我已经尝试了多项我认为可以使用有限jquery知识的东西(当你将鼠标悬停在p标签上时,以正确的宽度和高度显示相关的背景图像并定位,例如)但是没有成功了!
我想知道的是如何使文本充当导航块之类的链接,而且,使其成为当您将鼠标悬停在文本上时,背景图像也会悬停。或者,如果有一种方法可以将两者融合在一起,那就会膨胀!
我在这里添加了p-tags的html位(jquery代码自动创建了html ul li元素:
<div class="barousel_nav">
<p class="abs abs1">Value Proposition Development</p>
<p class="abs abs2">Sales Engagement</p>
<p class="abs abs3">Customer Communications</p>
<p class="abs abs4">Insight-driven Lead Generation Campaigns</p>
</div>
如果我可以指定每个导航链接,那么我应该能够创建一个解决方法,但是就目前而言,每个li都没有具体的内容!
答案 0 :(得分:1)
您可以更改一些位以使其按预期工作:
在jquery.barousel.js
文件上,查找以下代码段:
//build the navigation
if (settings.navType == 1) {
//items navigation type
var strNavList = "<ul>";
并通过向class
添加ul
(navigationMenu)来更改它:
//build the navigation
if (settings.navType == 1) {
//items navigation type
var strNavList = "<ul class='navigationMenu'>";
在页面标题上,加载所有库后,添加以下代码段:
<script type="text/javascript">
$(function () {
// Look for all the spans which contains the class abs, and move them
// to the li accordingly.
$("span.abs").each(function (index, element) {
var target = $("ul.navigationMenu li")[index];
$(this).appendTo($(target).find("a"));
});
});
</script>
通过删除未使用的规则来更改CSS:
.barousel {
height:408px;
margin-bottom:85px;
position:relative;
width:750px;
}
.barousel_wrap {
float:right;
height:408px;
width:650px;
}
.barousel_image {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/bgGrayGradient.jpg);
background-position:initial initial;
background-repeat:repeat no-repeat;
height:306px;
padding-left:10px;
width:660px;
}
.barousel_image img {
display:none;
position:absolute;
}
.barousel_image img.default {
display:block;
}
.barousel_image img.current {
z-index:10;
}
.barousel_content {
background-color:#6D4682;
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/largegrad_05.jpg);
background-position:initial initial;
background-repeat:repeat no-repeat;
display:block;
height:auto;
margin:0;
padding:5px 10px 0;
width:650px;
}
.barousel_content div {
display:none;
margin-bottom:7px;
width:650px;
}
.barousel_content div.default {
display:block;
height:auto;
padding-bottom:7px !important;
}
.barousel_content p {
color:white;
font-size:12px;
font-weight:normal;
line-height:16px;
margin-bottom:8px !important;
top:0;
z-index:50;
}
.barousel_content p.sliderH {
font-weight:bold;
margin-bottom:5px;
}
.barousel_nav {
float:left;
height:408px;
width:100px;
z-index:20;
}
/*.barousel_nav p.abs {
cursor:pointer;
display:inline-block;
font-size:11px;
left:5px;
margin:0 auto;
position:absolute;
text-align:center;
width:90px;
}
.barousel_nav p.abs1 {
top:35px;
}
.barousel_nav p.abs2 {
top:135px;
}
.barousel_nav p.abs3 {
bottom:140px;
}
.barousel_nav p.abs4 {
bottom:25px;
left:5px;
}*/
.barousel_nav ul {
float:right;
margin:0;
padding:0;
}
.barousel_nav li {
float:left;
/*font-size:0;
line-height:0;*/
list-style:none;
padding-left:3px;
}
.barousel_nav li a {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/BTN_01.jpg);
display:block;
/*font-size:0;*/
height:102px;
/*line-height:0;*/
text-decoration:none;
width:100px;
}
.barousel_nav li a:hover {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/current_BTN_01.jpg);
}
.barousel_nav li a.current {
background-image:url(http://oliverbanham.com/quantumSite/images/SLIDER/images/current_BTN_01.jpg);
}
最后,稍微更改一下HTML:
<span class="abs">Value Proposition Development</span>
<span class="abs">Sales Engagement</span>
<span class="abs">Customer Communications</span>
<span class="abs">Insight-driven Lead Generation Campaigns</span>
工作演示:http://jsfiddle.net/psFMs/2/
当然有一些CSS调整要做,让它看起来更好,但必不可少的就在这里。