使用javascript或jquery进行水平滚动div onclick

时间:2011-07-26 18:56:12

标签: javascript jquery scroll onclick

我花了两天时间为此寻找一个简单的javascript或jquery代码。我想使用javascript或jquery合并水平滚动div来显示我的Web组合的工作页面的图像和描述性文本。

它的功能非常类似于此处显示的滑动 - 滑动滚动:http://www.dyn-web.com/code/scroll/demos.php#horiz不幸的是,代码许可证是40美元,我是一个破产学生。

加载页面时,将显示三个投资组合图像。额外的东西隐藏在右边的溢出中。单击左箭头(我可以创建),从右侧进入新的图像幻灯片。右箭头单击将其发送回溢出。我不想要滚动条,只需要控制幻灯片的箭头。

非常感谢任何帮助。感谢。

4 个答案:

答案 0 :(得分:3)

你可以使用这样的代码:

function FixMargin(left) {
    $(this).css("left", left);
}

$(document).ready(function () {

$('#rightbutton').click(function () {
    var left = parseInt($("#bitToSlide").css('left'), 10);
    $("#bitToSlide").animate({ left: left - pageWidth }, 400, FixMargin(left - pageWidth));
});

$('#leftbutton').click(function () {
    var left = parseInt($("#bitToSlide").css('left'), 10);
    $("#bitToSlide").animate({ left: left + pageWidth }, 400, FixMargin(left + pageWidth));
});

}

你的html看起来像这样:

<div id="slideleft" class="slide">
    <div class="inner" id="bitToSlide" style="width:1842px">
        <table border="0" cellpadding="0" cellspacing="0">
            <tr valign="top">
                <td id="page1" style="width: 614px">
                </td>

                <td id="page2" style="width: 614px">
                </td>
            </tr>
        </table>
    </div>
</div>

你的css看起来像这样:

.slide
{
position:relative;
overflow:hidden;
height:365px;
width:597px;
margin:1em 0;
background-color:#E9ECEF;
border:0px
}

.slide .inner
{
position:absolute;
left:0;
bottom:0;
height:365px;
padding:0px;
background-color:#E9ECEF;
color:#333
}

我很久以前写了上面的内容 - 所以你可能想稍微更新它(例如用div替换表格)但是它可以工作。

你显然也需要那里的两个按钮

答案 1 :(得分:2)

有很多jQuery插件可以让你轻松完成这项工作。 例如:http://slidesjs.com/

希望这有帮助。

答案 2 :(得分:0)

你可以这样做。没有经过测试的代码,只是给你一个提示。

<div id="imageContainer">
  <div id="imageWrapper">
    <img />
    <img />
  </div>
  <span id="left">Left</span>
  <span id="right">right</span>
</div>

var imageWidth = 200;
$("#left").click(function(){
  $("#imageWrapper").animate({marginLeft:"-="+imageWidth}, 500);
  //Offcourse you need to handle the corner cases when there is not image to move left
});

$("#right").click(function(){
  $("#imageWrapper").animate({marginLeft:"+="+imageWidth}, 500);
});

答案 3 :(得分:0)

您可以查看iscroll 4。

http://cubiq.org/iscroll-4

你有一个scrollTo方法或scrollToElement方法......