• 03-08-2012, 01:13:47
    #1
    Üyeliği durduruldu


    Jquery ile yapılmış, <div> etiketi içerisinde bulunanların üzerine gelinince çıkan baloncuk.

    HTML Kullanımı

    <div class="bubbleInfo">
      <img class="trigger" src="http://siteismi.com/to/image.png" />
      <div class="popup">
        <!-- İçerik -->
      </div>
    </div>
    CSS

    .bubbleInfo {
        position: relative;
    }
    
    .popup {
        position: absolute;
        display: none; /* keeps the popup hidden if no JS available */
    }
    Kaynak Kodu

    $(function () {
      $('.bubbleInfo').each(function () {
        // options
        var distance = 10;
        var time = 250;
        var hideDelay = 500;
    
        var hideDelayTimer = null;
    
        // tracker
        var beingShown = false;
        var shown = false;
        
        var trigger = $('.trigger', this);
        var popup = $('.popup', this).css('opacity', 0);
    
        // set the mouseover and mouseout on both element
        $([trigger.get(0), popup.get(0)]).mouseover(function () {
          // stops the hide event if we move from the trigger to the popup element
          if (hideDelayTimer) clearTimeout(hideDelayTimer);
    
          // don't trigger the animation again if we're being shown, or already visible
          if (beingShown || shown) {
            return;
          } else {
            beingShown = true;
    
            // reset position of popup box
            popup.css({
              top: -100,
              left: -33,
              display: 'block' // brings the popup back in to view
            })
    
            // (we're using chaining on the popup) now animate it's opacity and position
            .animate({
              top: '-=' + distance + 'px',
              opacity: 1
            }, time, 'swing', function() {
              // once the animation is complete, set the tracker variables
              beingShown = false;
              shown = true;
            });
          }
        }).mouseout(function () {
          // reset the timer if we get fired again - avoids double animations
          if (hideDelayTimer) clearTimeout(hideDelayTimer);
          
          // store the timer so that it can be cleared in the mouseover if required
          hideDelayTimer = setTimeout(function () {
            hideDelayTimer = null;
            popup.animate({
              top: '-=' + distance + 'px',
              opacity: 0
            }, time, 'swing', function () {
              // once the animate is complete, set the tracker variables
              shown = false;
              // hide the popup entirely after the effect (opacity alone doesn't do the job)
              popup.css('display', 'none');
            });
          }, hideDelay);
        });
      });
    });
    Yapılan bir baloncuğu incelemek isterseniz, tıklayın.

    Baloncuk hakkında video izlemek isterseniz, tıklayın.
  • 03-08-2012, 12:30:22
    #2
    Üyeliği durduruldu
    teşekkürler hocam.