Need

2016-05-03 7 views
0

mit Mouse-Over statt Drop-Down zu arbeiten haben wir Multi-Shop Ansicht Website mit countires: Indien, USA, FrankreichNeed

oben auf der Seite können wir diese drei Länder sehen, wenn wir auf Dropdown-Button klicken here

enter image description here

was wir brauchen, statt einen Klick auf Drop-Down-Taste ist, sollte es funktionieren mit "mouse-over"

app/design/frontend/base/default/template/page/switch/languages.phtml 

<?php if(count($this->getStores())>1): ?> 
<div class="form-language"> 
    <label for="select-language"><?php echo $this->__('Your Language:') ?></label> 
    <select id="select-language" title="<?php echo $this->__('Your Language') ?>" onchange="window.location.href=this.value"> 
    <?php foreach ($this->getStores() as $_lang): ?> 
     <?php $_selected = ($_lang->getId() == $this->getCurrentStoreId()) ? ' selected="selected"' : '' ?> 
     <option value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_lang->getName()) ?></option> 
    <?php endforeach; ?> 
    </select> 
</div> 
<?php endif; ?> 

Antwort

2

Sie können mit dieser Lösung:

$('select').hover(function() { 

    $(this).attr('size', $('option').length); 
}, function() { 

    $(this).attr('size', 1); 
}); 

Es ist mit der length Eigenschaft des select spielen. Beantwortete bereits hier Trigger click on select box on hover

+0

i bin neu in JS, können Sie bitte, was ist 'function()' in obigen Code in Frage? – fresher

+0

eine Deklaration der anonymen Funktion - eine Funktion ohne Namen. Die erste Funktion im 'Hover'-Block wird bei Mauseingabe ausgeführt, die zweite bei mouseleave –

1

Ich würde denken, wenn Sie onmouseover in der Option sollte es funktionieren.

<option onmouseover="window.location.href=this.value" value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_lang->getName()) ?></option> 
+0

Ich bin neu bei JS, kannst du bitte was' function() 'in obigem Code in Frage stellt? – fresher

+0

@ spylh9999ggr Siehe aktualisierten Code, weiß nicht sicher, ob das funktioniert – Koen

+0

Entschuldigung, dass didt für mich gearbeitet hat. – fresher

2

Im Klar Javascript

document.getElementById("select-language").onmouseover=function(){ 
    document.getElementById('select-language').click(); 
}; 

Auch dieses JQuery-Skript wird die Arbeit machen ..

$("#select-language").mouseover(function(){ 
    $("#select-language").trigger("click"); 
}); 
+0

ich bin neu in JS, kannst du bitte was ist 'function()' in obigem Code in Frage? – fresher

+0

das könnte es öffnen, müssen Sie mit Code kommen, der es auf mouseleave auch –

+0

@ spylh9999ggr schließt, siehe http://www.w3schools.com/js/js_functions.asp oder https://developer.mozilla.org/ de-DE/docs/Web/JavaScript/Referenz/Funktionen – sarath