0

我从 juliendecaudin 的 barousel 插件改编的这个 j-query 滑块让我发疯了

我把它全部放在jsfiddle上:

http://jsfiddle.net/psFMs

四个导航块是由 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>

如果我可以指定每个 nav ul li 链接,那么我应该能够创建一个解决方法,但就目前而言,每个 li 都没有任何具体内容!

4

1 回答 1

1

您可以更改一些位以使其按预期工作:

jquery.barousel.js文件中,查找以下代码段:

//build the navigation
if (settings.navType == 1) {
    //items navigation type
        var strNavList = "<ul>";

并通过将class(navigationMenu) 添加到ul

//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 调整要做,让它看起来更漂亮,但关键就在这里。

于 2013-07-25T14:13:33.347 回答