2017-07-16 1 views
0

Ich bin ziemlich neu in js was ich versuche zu tun ist, habe ich 2 Webseiten ist eine Galerieseite und andere ist eine Website Karte.Aufruf einer Funktion von externen JS, wo diese Funktion Änderungen auf einer anderen Seite vornehmen muss

Auf der Galerieseite habe ich 5 kleine Bilder und ein großes Bild mit einer Beschreibung darunter. Wenn ein Benutzer auf ein kleines Bild klickt, wird das große Bild durch das Bild ersetzt, auf das der Benutzer geklickt hat, und die Beschreibung wird entsprechend geändert. Ich habe dies getan, indem ich onclick-Funktionen auf einer externen js-Datei aufgerufen habe.

Was ich nicht selbst tun kann, ist, sollte es Links auf der Sitemap geben, um jedes kleine Bild auf dem großen Bild zu sehen.

Antwort

1

Sie können URL-GET-Parameter verwenden. Auf Ihrer Sitemap Seite href Attribute für Sie Bild-Links auf diese Weise eingestellt:

<a href="index.html?image=image1"></a> 
<a href="index.html?image=image2"></a> 
<a href="index.html?image=image3"></a> 

Dann für die Bildseite Verwendung Skript Bildparameter zu erhalten. Ich habe die universelle Funktion verwendet, um alle Parameter zu erhalten und dann Bild eins überprüft.

function getAllParams() { 
var allParams = {}; 
var query = window.location.search.slice(1); 
if (query) { 
    query = query.split('#')[0]; //all after # is not a part of query 
    var arr = query.split('&'); // split our query string into its component parts 
    for (var i=0; i<arr.length; i++) { 
     var pair = arr[i].split('='); // separate the keys and the values 
     allParams[pair[0]] = decodeURIComponent(pair[1]); //add query and its value to allParams obj 
    } 
} 

return allParams; 
} 

var allParams = getAllParams(); 

if (allParams.image === 'image1') { 
    //show your image1 as a big image 
} 
Verwandte Themen