2011-07-17 23 views
0

這裏是我的JS:如何添加另一個類的JavaScript函數

function DoNav(theUrl) { 
    document.location.href = theUrl; 
} 

這裏是我的交替顏色表的代碼

while($i < $num) { 
    if ($i % 2 == 0) { 
    echo "<tr class='even' onclick=\"DoNav('physicianInfo.php');\">"; 
    } 
    else { 
    echo "<tr class='odd' onclick=\"DoNav('physicianInfo.php');\">"; 
    } 
} 

,但我想添加一個class="colorbox"當我點擊該行

class colorbox允許我有一個iframe模式:http://colorpowered.com/colorbox/

因爲我的TR有一個交替顏色的類,而且我有一個可點擊的javascript行來打開鏈接physicianInfo.php。如何在tr中調用colorbox(class="colorbox")。我可以在1級2班嗎?

我通常是通過 「A HREF」 調用類

樣品:<a class='colorbox' href="physicianInfo.php">

+2

你問18個以前的問題。有鑑於此,您現在應該正確地格式化代碼。我們通過爲他們提供幫助來幫助新手,但在幾個問題之後,您需要自己處理。當你問你的問題時,右邊有這個方便的**如何格式**框。值得一讀,就像在問題區域和[鏈接頁面](http://stackoverflow.com/editing-help)上方的** [?] **所示的信息一樣。 –

+0

如果您需要在渲染頁面之後添加一個colorbox,您需要在這裏查看http://colorpowered.com/colorbox/,並且可能會執行this.colorBox(.....)並且不添加未拾取的類除非你在添加類後重新初始化插件 – mplungjan

+0

@mplungjan:我添加'this.colorbox({href:theURL});但colorbox效果不起作用。這裏是JS:函數DoNav(theUrl) document.location.href = theUrl; 這個。顏色框({HREF:theUrl}); } –

回答

2

您必須正確初始化插件,因爲您在頁面加載後動態添加html。

while($i < $num) { 
    if ($i % 2 == 0) { 
     echo "<tr class='even tr-colorbox' \">"; 
    } else { 
     echo "<tr class='odd tr-colorbox' \">"; 
    } 
} 

$('.tr-colorbox').colorbox({href: 'physicianInfo.php', iframe: true}); 

另一種選擇

function DoNav(theUrl) { 
    $.colorbox({href: theUrl, iframe: true}); 
} 

while($i < $num) { 
    if ($i % 2 == 0) { 
     echo "<tr class='even' onclick=\"DoNav('physicianInfo.php');\">"; 
    } else { 
     echo "<tr class='odd' onclick=\"DoNav('physicianInfo.php');\">"; 
    } 
} 
+0

當用戶點擊表中的行時。它打開鏈接「physicianInfo.php」。但我想要使用Example7的colorbox效果:http://colorpowered.com/colorbox/core/example1/index.html在「其他內容類型」 - 外網頁(Iframe)演示 –

+0

我試過你的代碼:<腳本類型=「text/javascript」> $('。example7')。colorbox({href:theUrl}); 和colorbox效果的工作時間不到一秒鐘,鏈接仍然在同一個窗口裏打開,現在在colorbox裏面ifrane –

+0

@Arnold Porche Villaluz我已經更新了我的答案,提供了我相信你的行爲 – Clayton

0
.addClass('colorbox') 

很可能是你想:)

+0

我在javascript中添加了此內容:它沒有工作 –

+0

我也嘗試在javascript中添加另一行:document.location.addClass('colorbox');沒有工作 –

+0

你需要'this.addClass('colorbox')'在你的Javascript中。看看是否能正常工作 – vinceh

0

可能的解決答案:

  1. 在doNav函數中獲取行
  2. 然後將colorbox類添加到那些。
  3. 然後使用JavaScript的setAttribute方法

JavaScript函數應該如下

function doNav(row,theUrl){ 
// document.location.href = theUrl; 
var classes = row.getAttribute("class"); 
classes+=" colorbox"; 
row.setAttribute("class",classes); 
} 

完整溶液可以發現here。我爲你做了這個jsfiddle。

但是我恐怕colorbox插件不會反應,如果你動態添加classname(.colorbox)。它期望文檔加載類。

相關問題