javascript
  • arrays
  • quote
  • 2016-11-14 9 views -1 likes 
    -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'は必ずしも配列のインデックスを与えるわけではありません。 modulusを得る必要があります: 'dif%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の中にスタイルタグを入れてみましたが、ページには何も表示されません。 'document.write'の 'print'を置き換えるべきですか? – Gav

    関連する問題