Javascript 脚本不';不能在加载了无限滚动的元素上工作

Javascript 脚本不';不能在加载了无限滚动的元素上工作,javascript,tumblr,infinite-scroll,Javascript,Tumblr,Infinite Scroll,我在tumblr页面上使用了这个脚本,它为帖子提供了不同的随机文本颜色: function get_random_color() { var letters = '0123456789ABCDEF'.split(''); var color = '#'; for (var i = 0; i < 6; i++ ) { color += letters[Math.round(Math.random() * 15)]; } return color;} $(function() { $(

我在tumblr页面上使用了这个脚本,它为帖子提供了不同的随机文本颜色:

function get_random_color() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
    color += letters[Math.round(Math.random() * 15)];
}
return color;}
$(function() {
$(".post").each(function() {
    $(this).css("color", get_random_color());
}); });
函数get\u random\u color(){ 变量字母='0123456789ABCDEF'。拆分(''); var color='#'; 对于(变量i=0;i<6;i++){ 颜色+=字母[Math.round(Math.random()*15)]; } 返回颜色;} $(函数(){ $(“.post”)。每个(函数(){ $(this.css(“color”,get_random_color()); }); });
问题是脚本对于加载了无限滚动的元素不起作用。有人能帮我重写这段代码吗?遗憾的是,我不知道如何编写javascript。

看看你博客的
main.js
脚本。当您从另一个页面获取新元素时,可以调用自定义函数。这是我建议的对
main.js
文件的修订

$(window).load(function () {
var $wall = $('#content');
$wall.imagesLoaded(function () {
    $wall.masonry({
        itemSelector: '.post',
        isAnimated: false
    });
});
$wall.infinitescroll({
    navSelector: '#pagination',
    nextSelector: '#pagination li a.pagination_nextlink',
    itemSelector: '.post',
    loadingImg: "http://static.tumblr.com/kwz90l7/bIdlst7ub/transparent.png",
    loadingText: " ",
    donetext: " ",
    bufferPx: 100,
    debug: false,
    errorCallback: function () {
        $('#infscr-loading').animate({
            opacity: .8
        }, 2000).fadeOut('normal');
    }
}, function (newElements) {
    var $newElems = $(newElements);
    $newElems.hide();
    $newElems.each(function(value){
        value.css("color", get_random_color());
    });
    $newElems.imagesLoaded(function () {
        $wall.masonry('appended', $newElems, {
            isAnimated: false,
            animationOptions: {
                duration: 900,
                easing: 'linear',
                queue: false
            }
        }, function () {
            $newElems.fadeIn('slow');
        });
    });
    $(document).ready(function () {
        $("a[rel^='prettyPhoto']").prettyPhoto({
            deeplinking: false,
            default_width: 600,
            default_height: 550,
            allow_resize: true,
        });
    });
});
$('#content').show(500);
});

function get_random_color() {
    var letters = '0123456789ABCDEF'.split('');
    var color = '#';
    for (var i = 0; i < 6; i++ ) {
         color += letters[Math.round(Math.random() * 15)];
    }
    return color;
 }
$(窗口)。加载(函数(){
var$wall=$(“#content”);
$wall.imagesLoaded(函数(){
$wall.Mashiness({
itemSelector:“.post”,
isAnimated:错
});
});
$wall.infinites卷({
导航选择器:“#分页”,
下一个选择器:“#分页li a.pagination_nextlink”,
itemSelector:“.post”,
加载img:“http://static.tumblr.com/kwz90l7/bIdlst7ub/transparent.png",
加载文本:“”,
donetext:“,
缓冲区px:100,
调试:错误,
errorCallback:函数(){
$(“#infscr加载”)。设置动画({
不透明度:.8
}淡出(“正常”);
}
},函数(新元素){
var$newElems=$(新元素);
$newElems.hide();
$newElems.每个(函数(值){
css(“color”,get_random_color());
});
$newElems.imagesLoaded(函数(){
$wall.Mashiness('附加',$newElems{
我说:错,
动画选项:{
持续时间:900,
“线性”,
队列:false
}
},函数(){
$newElems.fadeIn('slow');
});
});
$(文档).ready(函数(){
$([rel^='prettypto'])。prettypto({
深度链接:错,
默认宽度:600,
默认高度:550,
允许调整大小:true,
});
});
});
$(#content')。show(500);
});
函数get_random_color(){
变量字母='0123456789ABCDEF'。拆分('');
var color='#';
对于(变量i=0;i<6;i++){
颜色+=字母[Math.round(Math.random()*15)];
}
返回颜色;
}

我所做的是添加您的
get_random_color
函数,并从无限滚动调用中调用它,为
$newElems
中的每个元素添加自定义颜色。因此,实际上,我所做的只是获取您的代码,并将其集成到与您尝试执行的操作不同的代码中,而您尝试执行的操作没有起作用。理论上,这应该是可行的。如果没有,或者您有问题,请告诉我。

请发布您加载其他postsHow的ajax部分您是否调用/设置无限滚动(或者它是tumblrfeature)?请给我们看一下,作为参考。它一开始是否有效,但在你滚动之后新元素就没有颜色了?在脚本运行之前或之后,何时添加初始无限滚动元素?如果有帮助,请访问此网站:它适用于第一页上的元素,但添加的任何元素都不会运行脚本您是否尝试在
无限滚动
中调用
get\u random\u color
获取元素时调用?嘿,谢谢!当我试图在main.js中使用此代码时,它导致无限滚动停止工作