2010-03-22 6 views
0

jquery와 다차원 배열을 사용하여 임의의 견적과 별도의 항목으로 작성한 개인의 이름을 표시하고 싶습니다. 그러면 CSS를 사용하여 다르게 스타일을 지정할 수 있습니다. 견적은 페이지 새로 고침시 변경됩니다. 어떤 도움을 크게 감상 할 수jquery를 사용하여 다차원 배열 만들기

$(document).ready(function(){ 
var myQuotes = new Array(); 
     myQuotes[0] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec in tortor mauris. Peter Jones, Dragons Den"; 
     myQuotes[1] = "Curabitur interdum, nibh et fringilla facilisis, lacus ipsum pulvinar mauris, eu facilisis justo arcu eget diam. Duis id sagittis elit. Theo Pathetis, Dragons Den"; 
     myQuotes[2] = "Vivamus purus purus, tincidunt et porttitor et, euismod sit amet urna. Etiam sollicitudin eros nec metus pretium scelerisque. James Caan, Dragons Den"; 

      var myRandom = Math.floor(Math.random()*myQuotes.length); 
       $('.quote-holder blockquote span').html(myQuotes[myRandom]); 
    }); 

:

지금까지 내가 인용하고 쓴 이름과 사람을 결합이 코드가 있습니다.

+2

짧은 제목을 사용하십시오 ... 나는 그 것을 읽는 것을 꺼려하지 않을 것입니다 ... – dbemerlin

+0

'var xx = []'와'var xx = new Array() '를 사용하는 것이 좋습니다. ' – JAL

답변

3

내가이 예를 들어 JSON을 사용하여 갈 것입니다 , 당신의 코드는 꽤 가깝습니다.

$(document).ready(function(){ 
    var myQuotes = [{ 
    "author" : "Timothy Tailor", 
    "quote" : "Trimodus offers brave, challenging training..." 
    }, 
    { 
    "author" : "Stanley Senoir", 
    "quote" : "Trimodus is so very challenging..." 
    }, 
    { 
    "author" : "Jeremy Pacemaker", 
    "quote" : "I would be confident in recommending..." 
    }]; 

    var myRandom = Math.floor(Math.random()*myQuotes.length); 
    $('.quote-holder blockquote span.author').html(myQuotes[myRandom].author); 
    $('.quote-holder blockquote span.quote').html(myQuotes[myRandom].quote); 
}); 
0
이에 myQuotes 배열을 변경

:

var myQuotes = [['Lorem ipsum', 'Peter Jones'], 
       ['Lorem ipsum', 'Theo Pathetis'], 
       ['Lorem ipsum', 'Duncan Bannantyne']]; 
0

방법에 대해 :

$(document).ready(function(){ 
    var myQuotes = [ 
    { 
     quote: "Lorem ipsum dolor sit amet...", 
     by: "Peter Jones, Dragons Den" 
    }, 
    ... more quotes ... 
    ]; 

    var r = Math.floor(Math.random() * myQuotes.length); 
    $('.quote-holder blockquote') 
    .find('span.quote').html(myQuotes[r].quote).end() 
    .find('span.by').html(myQuotes[r].by); 
}); 

이 가정되는 마크 업 같은 :

<div class='quote-holder'> 
    <blockquote> 
    <span class='quote'></span> 
    <span class='by'></span> 
    </blockquote> 
</div> 
0

인라인 배열 연산자를 사용해보십시오 :

$(document).ready(function(){ 
    var myQuotes = []; 
    myQuotes[0] = [ "Lorem ipsum dolor sit amet.", "Author info" ] ; 
    myQuotes[1] = [ "Lorem ipsum dolor sit amet.", "Author info" ] ; 
    myQuotes[2] = [ "Lorem ipsum dolor sit amet.", "Author info" ] ; 

    var idx = Math.floor(Math.random()*myQuotes.length); 
    var quote = myQuotes[idx]; 
    $('.quote-holder blockquote span').html(quote[0]+" <span class='author'>"+ quote[1] +"</span>"); 
}); 
0

왜 당신은 너무 같은 범위 내에서 사람의 이름을 넣어하지 않습니다

myQuotes[0] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec in tortor mauris. <span class="author">Peter Jones, Dragons Den</span>"; 

그런 다음 단지의 스타일을 다르게 범위 :

.quote-holder blockquote span{ 
//some style 
} 

.quote-holder blockquote span span.author{ 
//some other style 
} 

이것은 아마도 가장 쉬운 방법 일 것입니다 ...

+0

그렇게 할 수는 있지만 실수를하는 것이 얼마나 쉬운 지 알 수 있습니다. 코드에서 내부 범위의 클래스 이름으로'''을 사용하는 구문 오류가 있습니다. – rfunduk

0

좋아, 지금까지 귀하의 배열은 평범한 (내가 알다시피)이지만 저자의 이름과 스타일을 다르게 지정하고 싶습니다. 1 저자을 가지고, 1 따옴표를 가지고, 그래서 당신이 표시하려고 할 때 당신이 할 : 내가 볼 수있는 게으른 솔루션은 2 개 배열을 만드는 것입니다

var myRandom = Math.floor(Math.random()*myQuotes.length); 
    $('span.quote').html(myQuotes[myRandom]); 
    $('span.author').html(authors[myRandom]); 

을 한 다음 2 CSS, 1을 정의합니다. 저자 및 1 인용.