JavaScript заменить текст в промежутке - PullRequest
0 голосов
/ 18 апреля 2011

Я осмотрелся, нашел этот код и попытался заставить его работать, но не повезло. В основном, если вы нажмете кнопку, то предполагается заменить текст в диапазоне на Hello world.

<script type="text/javascript">
    $(function(){                                
            $("#change").click(function(){              

                var onlineSpan = $("#people").text().replace("Hello World");
                $("#people").text(onlineSpan);

            });

            $("#refresh").click(function(){
                location.reload();
            });

        });
</script>

<span id="people">content to replace</span>
<button id="change"> Change </button>

То, что я хотел бы сделать, это заменить текст в диапазоне, но использовать массив для обновления диапазона каждые 60 секунд случайной записью из массива вместо использования кнопки. Также промежуток находится внутри iframe, и этот iframe находится в том же домене.

iframe 1

var myCars = new Array();
myCars[0] = "Saab";
myCars[1] = "Volvo";
myCars[2] = "BMW";

$(function(){                                
     $("#change").click(function(){              

     var carSpan = $("#cars").text().replace(myCars);
     $("#cars").text(carSpan);

     });
 });

iframe 2

<span id="cars">content to replace</span>

Ответы [ 2 ]

1 голос
/ 18 апреля 2011

Для выполнения Javascript с интервалом (каждые 60 секунд) используйте setInterval .Чтобы получить случайное число, используйте Math.random (), как описано здесь .

var myCars = new Array();
myCars[0] = "Saab";
myCars[1] = "Volvo";
myCars[2] = "BMW";

function changeCars() {
     var randomI = Math.floor(Math.random()*myCars.length);
     var carSpan = $("#cars").html(myCars[randomI]);
}

$(document).ready(function(){                                
     setInterval(changeCars, 60000);
 });

Вы можете увидеть это в действии .

0 голосов
/ 18 апреля 2011

хорошо, если вы хотите добавить новое значение в диапазон:

 var carSpanText = $('#cars').text(),
     randomnum = Math.floor(Math.random() * myCars.length);
 $('#cars').text( carSpanText + myCars[randomnum] );

, если вам нужно просто заменить текст, то:

 var randomnum = Math.floor(Math.random() * myCars.length);
 $('#cars').text( myCars[randomnum] );
...