2012-04-13 10 views
0

Fancybox sieht gut aus, aber wenn ich auf den rechten oder nächsten Pfeil klicke, fällt das Bild von oben ein. Ich finde das komisch. Wenn ich einen solchen Pfeil sehe, stelle ich mir das kommende Bild so vor, als sei es in dieser Richtung vom Bildschirm entfernt. Wenn es von oben herab fällt, ist es für mich nervig.wie fancybox scrollen nach links nach rechts wechseln?

Also, wie machst du fancybox horizontal scrollen? Es scheint Parameter für fast alles zu geben, aber nicht für die Bildlaufrichtung. (Meine Javascript Fähigkeiten beschränken sich auf kleinere Verbesserungen in der Arbeit anderer Leute.)

Antwort

0

Okay, die Hälfte Antwort kommt, es Freitag Nacht und ich verlasse Arbeit bald, aber das Plugin ändern:

changeOut: function() { 

     var wrap = F.wrap, 
      current = F.current, 
      cleanUp = function() { 
       $(this).trigger('onReset').remove(); 
      }; 

     wrap.removeClass('fancybox-opened'); 

     if (current.prevEffect === 'elastic') { 
      if(F.coming.index < F.current.index) { 
      wrap.animate({ 
       'opacity': 0, 
       right :'+=200px' 
      }, { 
       duration: current.prevSpeed, 
       easing: current.prevEasing, 
       complete: cleanUp 
      }); 
      } 
      else { 
       wrap.animate({ 
       'opacity': 0, 
       left :'+=200px' 
      }, { 
       duration: current.prevSpeed, 
       easing: current.prevEasing, 
       complete: cleanUp 
      }); 
      } 

     } else { 
      wrap.fadeOut(current.prevEffect === 'fade' ? current.prevSpeed : 0, cleanUp); 
     } 
    } 

diese ist nur die Hälfte davon, changeIn: function() scheint nicht F.coming.index, die ich verwendet, um herauszufinden, in welche Richtung es ging.

+1

Ich mochte den Übergang, nur nicht von oben. Ich habe festgestellt, dass das Wechseln von startPos von oben nach links zulässt, dass die Folie fortgesetzt wird, aber es ist dasselbe, sowohl das vorherige als auch das nächste. \t \t \t 'if (current.nextEffect === 'elastische') { \t \t \t \t startPos = F._getPosition (true); \t \t \t \t startPos.opacity = 0; \t \t \t \t startPos.left = (parseInt (startPos.left, 10) - 200) + 'px'; \t \t \t \t wrap.css (startPos) .show() animieren (. { \t \t \t \t \t Opazität: 1, \t \t \t \t \t links: '+ = 200 Pixel' \t \t \t \t}, { \t \t \t \t \t Dauer: current.nextSpeed, \t \t \t \t \t Lockerung: current.nextEasing, \t \t \t \t \t komplett: F._afterZoomIn \t \t \t \t}); ' – Zpinhead

+0

Danke für die Antwort @ little-big-bot. Stackflow unterbrach mich, bevor ich das vorher sagen konnte. ;-) Gibt es eine (relativ einfache) Möglichkeit, die nächsten/vorherigen Buttons wie next/prev funktionieren zu lassen? Mit meiner Lösung bekomme ich nur den nächsten Effekt, egal ob neben oder vorher. – Zpinhead

+0

Ah, kein Problem. Ich werde sehen, was ich finden kann. Wenn ich es nicht herausfinden kann, ist "prevEffect: fade" eine weitere Option. –

Verwandte Themen