2016-11-27 2 views
3

Derzeit mache ich das nur mit statischen CSS mit etwas, das aussieht wie der Code unten angezeigt.Making jeder eine href auf meiner Website eine andere Farbe

#main-content > article.mh-loop-item.clearfix.post-95.post.type-post.status-publish.format-standard.has-post-thumbnail.hentry.category-singles.tag-kxngg-jxnes-italy > div > header > h3 > a { 
color: blue; 
} 
#main-content > article.mh-loop-item.clearfix.post-93.post.type-post.status-publish.format-standard.has-post-thumbnail.hentry.category-singles.tag-aquil-eddie-guerrero > div > header > h3 > a { 
color: red; 
} 

Und für jede Post ID erzeugt sie eine andere Farbe für diese Songs Titel wie, zu erscheinen wie auch immer ich versuche, etwas ein bisschen weiter fortgeschritten mit Javascript zu tun oder etwas, das, wenn überhaupt ein a gibt es href mit einer bestimmten Klasse generiert es eine zufällige Farbe für den Link als angezeigt werden.

+3

Wo ist Ihr HTML und JavaScript? –

+0

@ScottMarcus Das ist die Sache, ich mache es buchstäblich mit nur CSS und es ist extrem chaotisch ... meine CSS-Datei sieht aus wie komplette Krebs, weil es rund 15 Farben für IDs in bestimmten Zahlen erzeugt .. – Placeholder

+1

Warum hast du willst du die Usability so brechen? Menschen verwenden die Farbe und das Aussehen von Links, um zu navigieren. Die Farbe zufällig zu sein, wird für die Benutzer nicht hilfreich sein. – junkfoodjunkie

Antwort

7

Es kann von jquery wie unten

$(document).ready(function(){ 
 
    
 
    $('body a').each(function(){ 
 
    var color = 'rgb(' + randomNumber() + ',' + randomNumber() + ',' + randomNumber() + ')'; 
 
    $(this).css("color", color); 
 
    }); 
 
    
 
    function randomNumber(){ 
 
    return Math.floor(256*Math.random()); 
 
    } 
 
    
 
});
<a href="javascrip:void(0)">First link</a> 
 
<a href="javascrip:void(0)">Second link</a> 
 
<a href="javascrip:void(0)">Third link</a> 
 
<a href="javascrip:void(0)">Fourth link</a> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

+0

Das ist perfekt! – Placeholder

2

Ok, wenn du das wirklich willst (verstehe nicht warum, aber ich mag es :-)). Dann zeige ich dir einen Weg. Ich werde jQuery dafür verwenden, aber frei improvisieren.

Erstellen oder bearbeiten Sie Ihre Javascript-Datei. Und folgt zusammen (Ich gehe davon aus, dass Ihr Post-Titel hat Klasse namens postTitle)

$('.postTitle').each(function() { 
    var red = Math.floor(Math.random() * 256); 
    var green = Math.floor(Math.random() * 256); 
    var blue = Math.floor(Math.random() * 256); 
    $(this).css("color", "rgb(" + red + "," + green + "," + blue + ")"); 
}) 
+0

Dies ist sehr hilfreich, danke, jetzt rumspielen. – Placeholder

4

etwas wie diese Arbeit erreicht werden, versuchen Sie es bitte:

/*I just hard coded everything*/ 
 
var yourClass = "article", 
 
    hs = Array.from(document.querySelectorAll('a.' + yourClass)), 
 
    colors = ['blue', 'red', 'green', 'purple', 'black', 'blue', 'yellow', 'lime']; 
 

 
hs.forEach(function(elm) { 
 
    elm.style.color = colors[Math.floor(Math.random() * colors.length)]; 
 
})
<a href="#"> normal </a> 
 

 
<a class="article" href="#"> title1 </a> 
 
<a class="article" href="#"> title2 </a> 
 
<a class="article" href="#"> title3 </a> 
 
<a class="article" href="#"> title4 </a>

+0

Gute Antwort, denn diese gibt OP die Möglichkeit, die Farben –

+0

dank @GustvadeWal vorzugeben – RizkiDPrast

Verwandte Themen