响应滑块未按预期工作

时间:2014-07-05 04:30:41

标签: javascript jquery css css3 responsive-design

我正在尝试将响应滑块添加到我的网站。

我决定遵循http://responsiveslides.com/中的代码。但是,当我在我的浏览器中测试代码 - firefox时,图像没有移动意味着我只显示不可移动的图像。

我希望有人可以根据我所做的事情向我指出我做错了什么。

我的HTML代码是:

<div class="callbacks_container">
    <ul class="rslides" id="slider4">
        <li>
            <img src="img/banner01.jpg" alt="">
            <p class="caption">This is a caption</p>
        </li>
        <li>
            <img src="img/banner02.jpg" alt="">
            <p class="caption">This is another caption</p>
        </li>
        <li>
            <img src="img/banner03.jpg" alt="">
            <p class="caption">The third caption</p>
        </li>
    </ul>
</div>

我在下面添加了javascript和链接:

<link rel="stylesheet" href="StyleSheet.css" type="text/css" />
<script src="jquery.js"></script>
<script src="responsive.js"></script>
<script>

$(function () {
    // Slideshow 4
    $("#slider4".rslides).responsive({
        auto: false,
        pager: false,
        nav: true,
        speed: 500,
        namespace: "callbacks",
        before: function () {
            $('.events').append("<li>before event fired.</li>");
        },
        after: function () {
            $('.events').append("<li>after event fired.</li>");
        }
    });
});
</script>
<script>

$(function () {
    $("#slider4").responsive({
        auto: true,
        pager: false,
        nav: true,
        speed: 800,
        namespace: "callbacks",
    });
});
</script>

我的CSS是:

.rslides {
    position: relative;
    list-style: none;
    overflow: hidden;
    width: 100%;
    padding: 0;
    margin: 0;
}
.rslides li {
    -webkit-backface-visibility: hidden;
    position: absolute;
    display: none;
    width: 100%;
    left: 0;
    top: 0;
}
.rslides li:first-child {
    position: relative;
    display: block;
    float: left;
}
.rslides img {
    display: block;
    height: auto;
    float: left;
    width: 100%;
    border: 0;
}
.callbacks_container {
    margin-bottom: 50px;
    position: relative;
    float: left;
    width: 100%;
}
.callbacks {
    position: relative;
    list-style: none;
    overflow: hidden;
    width: 100%;
    padding: 0;
    margin: 0;
}
.callbacks li {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
}
.callbacks img {
    display: block;
    position: relative;
    z-index: 1;
    height: auto;
    width: 100%;
    border: 0;
}
.callbacks .caption {
    display: block;
    position: absolute;
    z-index: 2;
    font-size: 20px;
    text-shadow: none;
    color: #fff;
    background: #000;
    background: rgba(0, 0, 0, .8);
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 20px;
    margin: 0;
    max-width: none;
}
.callbacks_nav {
    position: absolute;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 52%;
    left: 0;
    opacity: 0.7;
    z-index: 3;
    text-indent: -9999px;
    overflow: hidden;
    text-decoration: none;
    height: 61px;
    width: 38px;
    background: transparent url("themes/themes.gif") no-repeat left top;
    margin-top: -45px;
}
.callbacks_nav:active {
    opacity: 1.0;
}
.callbacks_nav.next {
    left: auto;
    background-position: right top;
    right: 0;
}

对于jquery.js,我从Jquery网站1.8.1.3复制并附上相应的文件。

responsiveSlides.js我在我的文件中将其命名为responsive.js.

我希望有人可以告诉我哪里出错了,让幻灯片按原样移动。

感谢。     

4 个答案:

答案 0 :(得分:0)

使用此代替使用包含相同元素的上述脚本。

$(function () {
    $("#slider4").responsive({
        auto: true,
        pager: false,
        nav: true,
        speed: 800,
        namespace: "callbacks"
    });
});

答案 1 :(得分:0)

试试这个

您已经初始化了两次脚本,首先在此行$("#slider4".rslides).responsive({

中有一个拼写错误

只需在脚本标记

中添加以下脚本即可
$(function () {
    $("#slider4").responsive({
        auto: true,
        pager: false,
        nav: true,
        speed: 800,
        namespace: "callbacks"
    });
})

答案 2 :(得分:0)

也许把jQuery代码放在里面:

$(document).ready(function() 
{
    // code
});

也许它只是没有加载文档加载。我猜不过。

答案 3 :(得分:0)

您应该拨打responsiveSlides而不是responsive,因为响应是未定义的功能。