2013-01-18 87 views
0

我正在使用qTip2來處理我的網站上的一些工具提示。我有它適用於頁面的模板中下面的代碼:保持qTip工具提示始終可見

HTML

<div class="overview"><a href="#"><img class="border-gray" src="src.jpg"></a></div> 
<div class="estimate"><a href="#"><img class="border-gray" src="src.jpg"></a></div> 
<!-- More HTML similar to above --> 

JS

$('.overview').qtip({ 
    content: 'Overview', 
    position: { 
    my: 'bottom center', 
    at: 'top center' 
    }, 
    style: {classes: 'qtip-tipsy'} 
}); 
$('.estimate').qtip({ 
    content: 'Estimating', 
    position: { 
    my: 'bottom center', 
    at: 'top center' 
    }, 
    style: {classes: 'qtip-tipsy'} 
}); 
//More JS as above 

在個人網頁,我想有工具如果類與頁面相關聯,則提示可見。 IE:site.com/overview將具有總是可見的類overview的工具提示。如​​的工具提示estimate可見。

我試圖將此代碼添加到網頁,但它不工作:

$('.overview').qtip({ 
    hide: false 
}); 

當頁面加載的工具提示是可見的什麼我後。沒有鼠標懸停等是必需的。可見的工具提示將取決於可見的頁面。 IE:/overview = .overview工具提示。

我該如何做到這一點?

UPDATE

下面的代碼將實現我在尋找:

$('.overview').qtip({ 
    content: 'Overview', 
    position: { 
    my: 'bottom center', 
    at: 'top center' 
}, 
    show: { 
    ready: true 
}, 
    hide: false, 
    style: {classes: 'qtip-tipsy'} 
}); 

然而,這部分代碼是一個模板,並在頁面級別不可編輯:

$('.overview').qtip({ 
    content: 'Overview', 
    position: { 
    my: 'bottom center', 
    at: 'top center' 
    }, 
    style: {classes: 'qtip-tipsy'} 
}); 

如果我在下面的代碼中嘗試下面的代碼,它不起作用:

$('.overview').qtip({ 
    show: { ready: true }, 
    hide: false 

}); 

如果在頁面級別上不可編輯,我該如何組合這兩個? IE:如果我無法編輯頁面級代碼,我如何將showhide代碼添加到上面的代碼中?

+0

Uhmm。 *不*使用工具提示,而只是顯示'div'? –

+1

@JustinSatyr - 爲了一致,我更喜歡這種方法。 – L84

回答

1

默認情況下顯示

$('.overview').qtip({ 
    content: 'Overview', 
    position: { 
     my: 'bottom center', 
     at: 'top center' 
    }, 
    style: {classes: 'qtip-tipsy'}, 
    show: { ready: true } 
    }); 

這是該行你需要:

show: { ready: true } 

下面是文檔:
GTIP:http://craigsworks.com/projects/qtip/docs/reference/#show
gTip2:http://craigsworks.com/projects/qtip2/docs/show/#ready

SHOWING有條件

<?php 
    // Get the url 
    $current_url = $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; 
    // Get the two parts of the url, seperated by:/
    $url_array = explode('/', $current_url); 
?> 

<script> 
    $('.overview').qtip({ 
    content: 'Overview', 
    position: { 
     my: 'bottom center', 
     at: 'top center' 
    }, 
    /* Check if the second part of the url is 'overview' 
     If it is, add the show ready code */ 
    <?php if(isset($url_array[1]) && $url_array[1] == 'overview') : ?> 
     show: { ready: true }, 
    <?php endif; ?> 
    style: {classes: 'qtip-tipsy'} 
    }); 
</script> 

SHOWING有條件|只有JavaScript

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     // Prepare some variables 
     var current_url = window.location.host + window.location.pathname; 
     var url_array = current_url.split('/'); 
     // The qtip code 
     $('.overview').qtip({ 
     content: 'Overview', 
     position: { 
      my: 'bottom center', 
      at: 'top center' 
     }, 
     show: { ready: url_array[1] == overview ? true : false }, 
     style: {classes: 'qtip-tipsy'} 
     }); 
    }); 
</script> 
+0

感謝您的幫助,這確實是我需要的正確代碼,但是,我無法編輯部分代碼,因爲我在多個頁面上的模板中進行了編輯。看到我的問題更新。 – L84

+0

那麼你可以編輯模板添加顯示:{ready:true},有條件地在我更新的答案? –

+0

是的,但是,我不能使用PHP(我正在使用託管CMS)。如果沒有其他辦法,我會放棄模板。額外的工作要做,但不是不可能的。 – L84

-2
show: { 
    ready: true 
}, 
hide: { 
    event: false 
} 
+2

一些解釋會很好.. –

+0

它看起來像原來的海報(OP)已經表明,這是不工作的他們如果他們把它放在代碼之後。至少這需要一些解釋。 – RacerNerd