Servus,
ich bin hier neu und hab auch gleich eine Frage, ich versuch vom Azure das “top of the shop” Modul auf das Basic zu übertragen.
Ich habe alles nötige eingefügt, aber die JS Funktion in der “oxarticlebox.js” wird nicht ausgeführt und damit werden keine Bilder sichtbar gemacht, bzw verborgen.
Ich weis das dies ein großes gebiet ist, und viel falsch gehen kann, für ratschläge wäre ich sehr dankbar.
- die datei wird eingebunden!
- die funktion sollte eigentlich dadurch aufgerufen werden:
<script type="text/javascript">
$('a.js-external').attr('target', '_blank');
$('ul.js-articleBox').oxArticleBox();
</script>
Vielen dank schonmal für eure Hilfe!
gruss Corsafahrer
Basic hat doch schon die Top of the Shop Box, so ziemlich an der selben Stelle wie im Azure.
oder gehts um die Animation und wie die Artikelbilder so kommen und verschwinden?
ja genau geht um die animation, das jeweils nur eins offen ist und die sich langsam auf und zuklappen!
hast du auch die eigentliche Funktion oxArticleBox() kopiert?
[QUOTE=vanilla thunder;106403]hast du auch die eigentliche Funktion oxArticleBox() kopiert?[/QUOTE]
die in der Javascriptdatei? Ja!
alert('Datei galaden!');
( function( $ ) {
oxArticleBox = {
_create: function(){
var oSelf = this,
oElement = oSelf.element,
sTitlePattern = /^(.+) \([0-9]+\)$/,
sEndPattern = / \([0-9]+\)$/;
alert('Test change');
//hide all
$('.articleImage', oElement).hide();
//open first
$('.articleImage:first', oElement).show();
$('.articleImage:first', oElement).addClass('showImage');
$('.articleTitle', oElement).mouseover(function() {
//if not opened
if ($(this).prev().is(':hidden') == true) {
//closing opened
$('.articleTitle', oElement).removeClass('titleOn');
$('.showImage', oElement).slideUp(500);
//opening selected
$(this).addClass('titleOn');
$(this).prev().addClass('showImage')
$(this).prev().slideDown(500);
}
});
// triming titles to mach container width (if needed)
$( ".box h3 a", oElement ).each(function() {
var iTitleWidth = $(this).width(),
iContWidth = $(this).parent().width(),
sTitleText = $.trim($(this).text());
// if title is longer than its container
if (iTitleWidth > iContWidth) {
// checking if title has numbers at the end
var sTitleEnd = $.trim(sEndPattern.exec(sTitleText));
// seperating the title from the numbers
if (sTitleEnd) {
sTitleEnd = ' ' + sTitleEnd;
sTitleText = sTitlePattern.exec(sTitleText).pop();
}
// getting the length of the title
var iTitleLength = sTitleText.length;
while (iTitleWidth > iContWidth)
{
iTitleLength--;
$(this).html(sTitleText.substr(0, iTitleLength)+'…' + sTitleEnd);
var iTitleWidth = $(this).width();
}
$(this).attr('title',sTitleText);
}
});
}
}
$.widget( "ui.oxArticleBox", oxArticleBox );
} )( jQuery );
erste allert erscheint, zweite nicht!
okay, ich habs, tut mir echt leid, hab die nacht nur 3h geschlafen.
Antwort, man sollte das Script NACH jquery laden…
sry, aber vielen dank vanilla thunder für deine Bemühungen
ah jo, macht Sinn
schau dir mal den Tag [{oxscript include=“xy.js” }] an.
damit kannst du die Scripts in beliebigen Tempaltes einbeziehen und wenn der Shop die Seite verarbeitet, wird dieser Script an der richtigen Stelle eingebaut.