jQuery 自动滚动 div 上下
jQuery auto scroll a div Up & down
我写了一个 fiddle 可以自动上下滚动 div ,它工作正常。但是当它向下滚动时有一个问题,它没有显示最后一行(在这种情况下为"String4")。谁能帮我解决这个问题。
<div class="container">
<div class="content">
<p>string1</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string0</p>
<p>string1</p>
<p>string2</p>
<p>string3</p>
<p>string4</p>
<p> </p>
</div>
和 js 东西:
$(document).ready(function() {
if ($('.content').height() > $('.container').height()) {
setInterval(function () {
start();
}, 3000);
}
});
function animateContent(direction) {
var animationOffset = $('.container').height() - $('.content').height();
if (direction == 'up') {
animationOffset = 0;
}
console.log("animationOffset:"+animationOffset);
$('.content').animate({ "marginTop": (animationOffset)+ "px" }, 5000);
}
function up(){
animateContent("up")
}
function down(){
animateContent("down")
}
function start(){
setTimeout(function () {
down();
}, 2000);
setTimeout(function () {
up();
}, 2000);
setTimeout(function () {
console.log("wait...");
}, 5000);
}
试试这个:可能很愚蠢,但确实有效:
<div class="container">
<div class="content">
<p>string1</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string0</p>
<p>string1</p>
<p>string2</p>
<p>string3</p>
<p>string4</p>
<p><br> </p>
</div>
</div>
这是更新后的 fiddle:http://jsfiddle.net/f7e3d440/9/
这是很好的解决方案
只检查这里
$(document).ready(function() {
if ($('.content').height() > $('.container').height()) {
setInterval(function () {
start();
}, 3000);
}
});
function animateContent(direction) {
var animationOffset = $('.container').height() - $('.content').height()-30;
if (direction == 'up') {
animationOffset = 0;
}
console.log("animationOffset:"+animationOffset);
$('.content').animate({ "marginTop": (animationOffset)+ "px" }, 5000);
}
function up(){
animateContent("up")
}
function down(){
animateContent("down")
}
function start(){
setTimeout(function () {
down();
}, 2000);
setTimeout(function () {
up();
}, 2000);
setTimeout(function () {
console.log("wait...");
}, 5000);
}
.container { height:250px; background:red; padding:0 10px; overflow:hidden; }
.content { background:#eee; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="container">
<div class="content">
<p>string1</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string0</p>
<p>string1</p>
<p>string2</p>
<p>string3</p>
<p>string4</p>
</div>
</div>
制作
var animationOffset = $('.container').height() - $('.content').height()-30;
填充可能会影响您的身高。
我已经删除了你的空 p 标签。
这里是 Fiddle
尝试输入以下代码:
var myDiv = document.getElementById('content');
myDiv.scrollTop = myDiv.scrollHeight;
Div Overflow Scroll-to-bottom: Is it possible?
http://www.codeproject.com/Questions/632251/How-to-make-div-scroll-to-bottom-on-load
这 fiddle 非常适合动态生成的内容。 https://jsfiddle.net/bsxcL71L/2/
function down() {
$('html, body').animate({ scrollTop: hg}, 20000);
up();
};
function up() {
$('html, body').animate({ scrollTop: $('#start').offset().top }, 20000);
down();
};
$(document).ready(function () {
hg = $('#content').height() - 420;
down();
});
我写了一个 fiddle 可以自动上下滚动 div ,它工作正常。但是当它向下滚动时有一个问题,它没有显示最后一行(在这种情况下为"String4")。谁能帮我解决这个问题。
<div class="container">
<div class="content">
<p>string1</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string0</p>
<p>string1</p>
<p>string2</p>
<p>string3</p>
<p>string4</p>
<p> </p>
</div>
和 js 东西:
$(document).ready(function() {
if ($('.content').height() > $('.container').height()) {
setInterval(function () {
start();
}, 3000);
}
});
function animateContent(direction) {
var animationOffset = $('.container').height() - $('.content').height();
if (direction == 'up') {
animationOffset = 0;
}
console.log("animationOffset:"+animationOffset);
$('.content').animate({ "marginTop": (animationOffset)+ "px" }, 5000);
}
function up(){
animateContent("up")
}
function down(){
animateContent("down")
}
function start(){
setTimeout(function () {
down();
}, 2000);
setTimeout(function () {
up();
}, 2000);
setTimeout(function () {
console.log("wait...");
}, 5000);
}
试试这个:可能很愚蠢,但确实有效:
<div class="container">
<div class="content">
<p>string1</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string0</p>
<p>string1</p>
<p>string2</p>
<p>string3</p>
<p>string4</p>
<p><br> </p>
</div>
</div>
这是更新后的 fiddle:http://jsfiddle.net/f7e3d440/9/
这是很好的解决方案
只检查这里
$(document).ready(function() {
if ($('.content').height() > $('.container').height()) {
setInterval(function () {
start();
}, 3000);
}
});
function animateContent(direction) {
var animationOffset = $('.container').height() - $('.content').height()-30;
if (direction == 'up') {
animationOffset = 0;
}
console.log("animationOffset:"+animationOffset);
$('.content').animate({ "marginTop": (animationOffset)+ "px" }, 5000);
}
function up(){
animateContent("up")
}
function down(){
animateContent("down")
}
function start(){
setTimeout(function () {
down();
}, 2000);
setTimeout(function () {
up();
}, 2000);
setTimeout(function () {
console.log("wait...");
}, 5000);
}
.container { height:250px; background:red; padding:0 10px; overflow:hidden; }
.content { background:#eee; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="container">
<div class="content">
<p>string1</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string</p>
<p>string0</p>
<p>string1</p>
<p>string2</p>
<p>string3</p>
<p>string4</p>
</div>
</div>
制作
var animationOffset = $('.container').height() - $('.content').height()-30;
填充可能会影响您的身高。
我已经删除了你的空 p 标签。
这里是 Fiddle
尝试输入以下代码:
var myDiv = document.getElementById('content');
myDiv.scrollTop = myDiv.scrollHeight;
Div Overflow Scroll-to-bottom: Is it possible?
http://www.codeproject.com/Questions/632251/How-to-make-div-scroll-to-bottom-on-load
这 fiddle 非常适合动态生成的内容。 https://jsfiddle.net/bsxcL71L/2/
function down() {
$('html, body').animate({ scrollTop: hg}, 20000);
up();
};
function up() {
$('html, body').animate({ scrollTop: $('#start').offset().top }, 20000);
down();
};
$(document).ready(function () {
hg = $('#content').height() - 420;
down();
});