使用 javascript 或 jquery 水平滚动 div onclick

发布于 2024-11-26 14:22:21 字数 440 浏览 0 评论 0原文

过去两天我一直在寻找一个简单的 javascript 或 jquery 代码。我想使用 javascript 或 jquery 合并水平滚动 div 来显示我的网络作品集工作页面的图像和描述性文本。

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

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

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

I have spent the last two days looking for a simple javascript or jquery code for this. I want to incorporate a horizontal scrolling div using javascript or jquery to display images and descriptive text for the work page of my web portfolio.

It would function very similar to the glide-onclick scrolling shown here: http://www.dyn-web.com/code/scroll/demos.php#horiz Unfortunately that code license is $40, and I am a broke student.

On loading of the page, three portfolio images will be shown. Extras are hidden in the overflow to the right. Onclick of a left arrow (I can create), a new image slide comes into view from the right. A right arrow click sends it back into overflow. I don't want scrollbars, just arrows controlling the slides.

Any help is much appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

各空 2024-12-03 14:22:21

你可以使用这样的代码:

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 替换表格)但它有效。

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

You can just use code like this:

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));
});

}

where your html looks like this:

<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>

and your css looks like this:

.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
}

I wrote the above a really long time ago - so you probably want to update it a bit (replace the table's with div's for example) but it works.

You obviously need the two buttons on there as well

鱼窥荷 2024-12-03 14:22:21

有很多 jQuery 插件可以让您轻松地做到这一点。
例如:http://slidesjs.com/

希望这会有所帮助。

There are a lot of jQuery plugins which allow you to do this very easily.
For ex: http://slidesjs.com/

Hope this helps.

孤星 2024-12-03 14:22:21

你可以做这样的事情。未经测试的代码,只是给您一个提示。

<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);
});

You can do something like this. Not tested code but just giving you a hint.

<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);
});
空心↖ 2024-12-03 14:22:21

您可以查看 iscroll 4。

http://cubiq.org/iscroll-4

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

You can have a look to iscroll 4.

http://cubiq.org/iscroll-4

You have a scrollTo method or scrollToElement method...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文