2016-11-14 7 views
-1

Я немного почесываю голову, чтобы добавить к цитатам авторов (на следующей строке).присвоение авторам котировок дня

У меня есть массив и добавлены комментарии, чтобы спросить об этом.

<script type = "text/JavaScript">  
var quote = new Array();  
quote[0] = ' quote 1 Lorem ipsum blah blah ' ;  
quote[1] = ' quote 2 Nullam commodo blah blah ' ;  
quote[2] = ' quote 3 Sed vitae blah blah ' ;  
quote[3] = ' quote 4 Maecenas blah blah ' ;  
quote[4] = ' quote 5 Fusce lorem velit, blah blah ' ;  
quote[5] = ' quote 6 Ut blah blah ' ;  
quote[6] = ' quote 7 Phasellus blah blah ' ;  
// authors: Name[x] = ' name '; ? 
var quotelen = quote.length;  

// Pick a random index number 
// Is this how to pick a random number from the array? 
// var quotelen = Math.floor(Math.random() * quote.length); 


// The Start Date (yyyy, m, d) m=0=January, m=1=February 
var firstDate = new Date(2016,0,1);   

// Today 
var today = new Date();  

// Difference in days 
var diff = Math.floor((today - firstDate)/1000/60/60/24);  

// Calculate the index of the quote of the day 
while(diff >= quotelen){  
  
// Restart the array index if the difference is greater than the array's length 
diff = diff - quotelen; 
}  

// The quote of the day 
var todayQuote = quote[diff]; 
onload = function(){document.getElementById('quote').firstChild.data = todayQuote}  
// how to add Authors to the Quotes? ... getElementById(' Name ').firstChild.data = todayName ? 
</script> 
</head>  
<body>  
<div id = 'quote'>&nbsp;</div>  

любая помощь с этим будет замечательной. ура.

+2

Я не понимаю, что вы хотите, чтобы конечный результат будет. Не могли бы вы объяснить желаемый результат на простом английском языке? – RobertAKARobin

+0

Где скрываются авторы? – sideroxylon

+0

Кроме того, 'diff - quotelen' не обязательно даст вам индекс в массиве. Вам нужно получить модуль: 'diff% quotelen' - остаток будет находиться между 0 и длиной массива. – sideroxylon

ответ

0

Вместо того чтобы нажимать quotes в качестве строки, вы можете нажать объект. Также вместо того, чтобы зацикливать, чтобы получить разницу, просто используйте оператор %.

{ quote: 'quote 1 Lorem ipsum blah blah' , aurthor: 'foo1' }, 

function getTodaysQuote(quote) { 
 
    var firstDate = new Date(2016, 0, 1); 
 
    var today = new Date(); 
 

 
    // Difference in days 
 
    var index = Math.floor((+today - +firstDate)/(1000 * 60 * 60 * 24)) % quote.length; 
 
    return quote[index] 
 
} 
 

 
function printQuote(quote) { 
 
    document.querySelector('.quote').innerHTML = quote.quote; 
 
    document.querySelector('.author').innerHTML = "-" + quote.author; 
 
} 
 

 
function main() { 
 
    var quotes = [ 
 
    { quote: 'quote 1 Lorem ipsum blah blah' , author: 'foo1' }, 
 
    { quote: 'quote 2 Nullam commodo blah blah' , author: 'foo2' }, 
 
    { quote: 'quote 3 Sed vitae blah blah' , author: 'foo3' }, 
 
    { quote: 'quote 4 Maecenas blah blah' , author: 'foo4' }, 
 
    { quote: 'quote 5 Fusce lorem velit, blah blah' , author: 'foo5' }, 
 
    { quote: 'quote 6 Ut blah blah' , author: 'foo6' }, 
 
    { quote: 'quote 7 Phasellus blah blah', author: 'foo7' }, 
 
    ] 
 

 
    var q = getTodaysQuote(quotes); 
 
    printQuote(q); 
 
} 
 
main();
.quote { 
 
    font-size: 20px; 
 
    font-weight: bold; 
 
    color: #333; 
 
    margin: 0; 
 
} 
 
.author { 
 
    float: right; 
 
    margin:0; 
 
} 
 
.content{ 
 
    width: 50%; 
 
}
<div class="content"> 
 
    Todays quote is: 
 
    <p class="quote"></p> 
 
    <p class="author"></p> 
 
</div>

+0

нет, извините, все еще не работает. – Gav

+0

@Gav, когда вы говорите * Его не работают для меня *, пожалуйста, укажите, что не работает. Если возможно, поделитесь рабочим образцом, чтобы каждый мог вам помочь. – Rajesh

+0

Я попытался поместить код внутри тегов скрипта и теги стиля css внутри (как и вы), но ничего не отображается на странице. следует ли заменить «print» на «document.write»? – Gav

Смежные вопросы