JQuery BlockUI Plugin method blockUI как отображать только изображение без какого-либо backgorund

Ниже приведен пример страницы http://jquery.malsup.com/block/ - пример сообщения оверлея с изображением:

$.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' });

Но я хочу отобразить только изображение, поэтому я вынул тег h1:

$.blockUI({ message: '<img src="busy.gif" />' });

Но по моему изображению по-прежнему сохраняется фоновый цвет. Как я могу удалить его?

Согласно исходному коду jQuery BlockUI Plugin (v2), он обматывает сообщение тегом h2

if (title) $m.append('<h1>'+title+'</h1>');
if (message) $m.append('<h2>'+message+'</h2>');

поэтому похоже, что без изменения исходного кода невозможно передать только тег изображения.

я могу изменить исходный код библиотеки, чтобы ввести новый параметр, например image, с условием:

if (image) $m.append(image);

и я мог бы объявить свое изображение следующим образом:

$.blockUI({ image: '<img src="busy.gif" />' });

Любые идеи?

Ответ 1

По умолчанию вы получили следующее:

    // styles for the message when blocking; if you wish to disable
    // these and use an external stylesheet then do this in your code:
    // $.blockUI.defaults.css = {};
    css: {
        padding:    0,
        margin:     0,
        width:      '30%',
        top:        '40%',
        left:       '35%',
        textAlign:  'center',
        color:      '#000',
        border:     '3px solid #aaa',
        backgroundColor:'#fff',
        cursor:     'wait'
    },

Итак, если вы не хотите, чтобы все это делалось в коде:

$.blockUI.defaults.css = {};

Или, если вы хотите исключить фон и границу, просто зайдите с этим insteard:

$.blockUI.defaults.css = { 
            padding: 0,
            margin: 0,
            width: '30%',
            top: '40%',
            left: '35%',
            textAlign: 'center',
            cursor: 'wait'
        };

В основном, используя эту внешнюю таблицу стилей, вы можете указать любой желаемый стиль css.

Ответ 2

Это отлично работает

$.blockUI({ message: '<img src="your.gif" />' ,
css: { width: '4%', border:'0px solid #FFFFFF',cursor:'wait',backgroundColor:'#FFFFFF'},
  overlayCSS:  { backgroundColor: '#FFFFFF',opacity:0.0,cursor:'wait'} 
}); 

Ответ 3

Вы также можете переопределить некоторые параметры css при вызове blockUI(). Вот так:

  $.blockUI({
    'message':$('#div-'+$(this).attr('id')),
    'css':{width:539,height:539,top:'80px',left:($(window).width()-539)/2+'px',border:0}
  });

Ответ 4

Вы можете переопределить css для наложения

$.blockUI.defaults.overlayCSS.opacity = 0;

Подробнее здесь: http://jquery.malsup.com/block/#options

Ответ 5

просто нажмите этот URL: https://sites.google.com/site/atgcorner/Downhome/javascript/jqueryblockuipopupwithimage-1

затем с реализацией litle в моем коде.

 

var spinnerImg = new Image();


spinnerImg.src = "${spinnerImage}";

    function loadpage() { 
        $.ajax({ url: 'wait.jsp', cache: false }); 
    } 

    function testload(){
         var msg = "";
         $.blockUI({ 
            message: $(' Wait a moment..'),             
             css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#fff', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5,            
            color: '#000' 
        } }); 
         loadpage();    
         setTimeout($.unblockUI, 6000);

    }

IT Работает нормально (в настоящее время я использую FF 31.0 и Chrome 36.0)