相关疑难解决方法(0)

如何使用jQuery滚动到特定项目?

我有一个带垂直滚动条的大桌子.我想使用jQuery/Javascript滚动到此表中的特定行.

有没有内置的方法来做到这一点?

这是一个可以玩的小例子.

div {
    width: 100px;
    height: 70px;
    border: 1px solid blue;
    overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)
<div>
    <table id="my_table">
        <tr id='row_1'><td>1</td></tr>
        <tr id='row_2'><td>2</td></tr>
        <tr id='row_3'><td>3</td></tr>
        <tr id='row_4'><td>4</td></tr>
        <tr id='row_5'><td>5</td></tr>
        <tr id='row_6'><td>6</td></tr>
        <tr id='row_7'><td>7</td></tr>
        <tr id='row_8'><td>8</td></tr>
        <tr id='row_9'><td>9</td></tr>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript jquery scroll

247
推荐指数
5
解决办法
34万
查看次数

Animate scrollTop无法在firefox中运行

这个功能很好.它将主体滚动到所需容器的偏移量

function scrolear(destino){
    var stop = $(destino).offset().top;
    var delay = 1000;
    $('body').animate({scrollTop: stop}, delay);
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但不是在Firefox中.为什么?

-编辑-

要在接受的答案中处理de double触发器,我建议在动画之前停止元素:

$('body,html').stop(true,true).animate({scrollTop: stop}, delay);
Run Code Online (Sandbox Code Playgroud)

firefox jquery scrolltop

164
推荐指数
3
解决办法
9万
查看次数

如何滚动到溢出Div中的元素?

我在div中有20个列表项,一次只能显示5个.滚动到项目#10,然后项目#20的好方法是什么?我知道所有物品的高度.

scrollTo插件可以做到这一点,但它的来源并不是很容易理解而没有真正进入它.我不想使用这个插件.

比方说,我有一个功能,需要2元$parentDiv,$innerListItem,既不$innerListItem.offset().top也不$innerListItem.positon().top让我对$ parentDiv正确scrollTop的.

jquery

152
推荐指数
4
解决办法
13万
查看次数

通过使用javascript锚定跳跃

我有一个经常会被发现的问题.问题是无处可寻找明确的解决方案.

锚有两个问题.

主要目标应该是在使用锚点跳转到页面时获得一个没有任何哈希值的漂亮干净URL.

所以锚的结构是:

<ul>
    <li><a href="#one">One</a></li>
    <li><a href="#two">Two</a></li>
    <li><a href="#three">Three</a></li>
</ul>

<div class="wrap">
    <a name="one">text 1</a>
    <a name="two">text 2</a>
    <a name="three" class="box">text 3</a>
</div>
Run Code Online (Sandbox Code Playgroud)

好的,如果您点击其中一个链接,网址将自动更改为

www.domain.com/page#1

最后这应该只是:

www.domain.com/page

到现在为止还挺好.现在第二件事是,当您在互联网上搜索该问题时,您会发现它javascript是一种解决方案.

我找到了这个功能:

function jumpto(anchor){
    window.location.href = "#"+anchor;
}
Run Code Online (Sandbox Code Playgroud)

并调用该函数:

<a onclick="jumpto('one');">One</a>
Run Code Online (Sandbox Code Playgroud)

会像以前一样.它会将哈希添加到网址中.我还补充道

<a onclick="jumpto('one'); return false;">
Run Code Online (Sandbox Code Playgroud)

没有成功.所以,如果有人能告诉我如何解决这个问题,我真的很感激.

非常感谢.

html javascript anchor function href

117
推荐指数
3
解决办法
21万
查看次数

.animate()的回调被调用两次jquery

由于我添加了一些scrollTop动画,我的回调的某些部分会被调用两次:

$('html, body').animate({scrollTop: '0px'}, 300,function() {
    $('#content').load(window.location.href, postdata, function() {                 
        $('#step2').addClass('stepactive').hide().fadeIn(700, function() {
            $('#content').show('slide',800);                    
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

它似乎只是重复一次.show(),至少我没有那个load()或者.fadeIn()第二次被称为第二次的印象.在.show()得到尽快,因为它已经完成了第一次重复.设置scrollTop动画速度0顺便没有帮助!

我假设它与动画队列有关,但我无法弄清楚如何找到解决方法,特别是为什么会发生这种情况.

jquery callback

100
推荐指数
2
解决办法
3万
查看次数

没有jquery的scrollTop动画

我试图在不使用jQuery的情况下制作动画"滚动到顶部"效果.

在jQuery中,我通常使用这段代码:

$('#go-to-top').click(function(){ 
      $('html,body').animate({ scrollTop: 0 }, 400);
      return false; 
});
Run Code Online (Sandbox Code Playgroud)

如何在不使用jQuery的情况下为scrollTop设置动画?

html javascript css jquery

79
推荐指数
1
解决办法
11万
查看次数

scrollIntoView滚动太远了

我有一个页面,其中包含其中包含div的表行的滚动条是从数据库动态生成的.每个表格行都像一个链接,有点像你在视频播放器旁边的YouTube播放列表中看到的那样.

当用户访问该页面时,他们所在的选项应该转到滚动div的顶部.此功能正常运行.问题是,它太过分了.就像他们选择的选项大约10px太高.因此,访问该页面,该URL用于标识选择了哪个选项,然后将该选项滚动到滚动div的顶部.注意:这不是窗口的滚动条,它是带滚动条的div.

我使用此代码使其将选定的选项移动到div的顶部:

var pathArray = window.location.pathname.split( '/' );

var el = document.getElementById(pathArray[5]);

el.scrollIntoView(true);
Run Code Online (Sandbox Code Playgroud)

它将它移动到div的顶部,但是大约10个像素太远了.有谁知道如何解决这个问题?

javascript dom scroll

70
推荐指数
14
解决办法
7万
查看次数

如何在不使用jQuery的情况下获取元素的offset().top值?

我正在使用Angular框架编写单页应用程序.我是新手.我已阅读本指南,以帮助我理解jQuery和Angular之间的根本区别,我想尽可能地遵循本指南,而不是使用jQuery.

除了jQuery有助于解决一些浏览器不兼容问题并提供一个有用的函数库,比如能够从窗口顶部知道元素的顶部位置,如$('element').offset().top.没有普通的JavaScript似乎能够接近而不需要重写这个功能,在这一点岂不一个更好的主意,用一个jQuery或类似的jQuery库?

具体来说,我正在尝试做的是设置一个指令,一旦元素的顶部滚动到窗口中的某个位置,就将元素固定到位.这是它的样子:

directives.scrollfix = function () {
    return {
        restrict: 'C',
        link: function (scope, element, $window) {

            var $page = angular.element(window)
            var $el   = element[0]
            var elScrollTopOriginal = $($el).offset().top - 40

            $page.bind('scroll', function () {

                var windowScrollTop = $page[0].pageYOffset
                var elScrollTop     = $($el).offset().top

                if ( windowScrollTop > elScrollTop - 40) {
                    elScrollTopOriginal = elScrollTop - 40
                    element.css('position', 'fixed').css('top', '40px').css('margin-left', '3px');
                }
                else if ( windowScrollTop < elScrollTopOriginal) {
                    element.css('position', 'relative').css('top', '0').css('margin-left', '0');
                } …
Run Code Online (Sandbox Code Playgroud)

jquery window offset scrolltop angularjs

44
推荐指数
3
解决办法
10万
查看次数

jQuery从按钮onclick跳转或滚动到页面上的某个位置,div或目标

当我点击一个按钮时,我希望能够跳到或滚动到页面上的特定div或目标.

$('#clickMe').click(function() {
    //jump to certain position or div or #target on the page
});
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

html javascript css jquery scroll

35
推荐指数
2
解决办法
18万
查看次数

使用animate-scrollTo时jQuery闪烁

scrollTo当jQuery animate函数调用该函数时,我遇到了问题.

这是我的代码:

$("#button").click(function(){
    $("body").animate({scrollTop: 1400},"slow");
});
Run Code Online (Sandbox Code Playgroud)

单击按钮时,在正文滚动之前会出现闪烁.例如,我在(滚动位置)1000,当我点击按钮时发生以下情况:

  1. 页面/图像打开(滚动位置)1400出现,看起来我已经去了(位置)1400
  2. 然后它再次移动到(位置)1000,这发生得如此之快,看起来像一个闪烁
  3. 最后它像普通卷轴一样滚动到1400 ..

在Firefox上它总是出现,有时也在chrome上.

html jquery cross-browser

30
推荐指数
2
解决办法
2万
查看次数