簡體   English   中英

如何根據屏幕大小(重新)初始化具有不同選項的工具提示?

[英]How to (re)initialize tooltip with different options depending on screen size?

所以我使用tooltipster.js庫來獲取工具提示,並嘗試在不同的屏幕尺寸上更改工具提示的默認距離。

所以這是默認init的外觀:

  $(inputTooltipTrigger).tooltipster({
    distance: 24,
    theme: 'test',
    trigger: 'custom'
  });

如果窗口寬度大於641px,則距離變為6

  if ($(window).width() > 641){
    $(inputTooltipTrigger).tooltipster({
      distance: 6,
      theme: 'test',
      trigger: 'custom'
    });
  }

如果窗口調整大小然后大於641px,則距離更改為6

  $(window).resize(function(){
    if ($(window).width() > 641){
      $(inputTooltipTrigger).tooltipster({
        distance: 6,
        theme: 'test',
        trigger: 'custom'
      });
    }
  });

如何在重新調整大小以及窗口寬度是否大於641px的情況下如何獲取插件? 我嘗試使用CSS,但我必須使用!important標志來覆蓋由tooltip插件生成的內聯JS,這是不贊成的。

首先使用destroy 方法 ,然后重新初始化工具提示:

$(window).resize(function() {

    if ($(this).width() > 641) {

        $(inputTooltipTrigger).tooltipster('destroy'); // no callback method, so try a setTimeout to re-initialize

        setTimeout(function () {
            $(inputTooltipTrigger).tooltipster({
                distance: 6,
                theme: 'test',
                trigger: 'custom'
            });
        }, 250);

    }
});

我會嘗試將其全部寫為一個jQuery函數:

jQuery(function($){
    if ($(window).width() >= 641){
        $(inputTooltipTrigger).tooltipster({
            distance: 6,
            theme: 'test',
            trigger: 'custom'
        });
    }
    $(window).resize(function () {
        if ($(window).width() >= 641) {
            $(inputTooltipTrigger).tooltipster({
                distance: 6,
                theme: 'test',
                trigger: 'custom'
            });
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM