2017-07-28 53 views
1

我期待有我的網站上多模態如下檢查:兩種不同的情態動詞用一個函數

  1. 的第一模式將一般信息爲他們登錄/註冊,我需要顯示如果用戶是匿名(未登錄)或沒有活動訂閱(即使他們已登錄)。我已經有一個國旗/檢查這個。

  2. 其他模態將容納YouTube視頻...

當用戶點擊在網格中播放按鈕,我想調用一個函數來檢查,我講的標誌。如果該標誌爲真,則適當的模式將針對該特定視頻彈出。如果該標誌爲假,則登錄/註冊模式將彈出。

我該如何去做這樣的事情,有人可以幫忙嗎?

預先感謝您!

回答

0

嘗試一下這樣的事情。正如你所說如果標誌爲TRUE,然後觸發第二個功能,所以它非常簡單,你只需要使用IF ELSE語句。

$(document).ready(function(){ 
 
    $("#btn").on("click",function(){ 
 
     //Your first module code goes here. 
 
     alert('I am first.'); 
 
     secondModule(); 
 
    }); 
 
}); 
 
function secondModule(){ 
 
    //Your second module code goes here. 
 
    alert('I am second'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="btn">Click</button>

+0

太感謝你了,扎伊德!但我將有多個按鈕或鏈接點擊。一個頁面上可能有6,7,8或20個視頻,這意味着同樣多的Play鏈接。當他們點擊播放鏈接時,我想運行此檢查並動態顯示模態中的相應視頻。 – Donato

+0

然後爲每個'btn'分配唯一的ID並在循環中使用這種類型的代碼。所以每個視頻都有腳本。 –

+0

我可以在其中有多個DIV,但我需要那些以模式彈出。 – Donato

0

你可能有這樣一個小的安全問題。如果它是100%的客戶端,那麼使用控制檯很容易繞過,所以我建議對你的標誌進行ajax調用,然後返回適當的html。關於這件事很酷的是你可以在網站上重複使用它。

[編輯:顯然,你需要傳遞一個變量的視頻,腳本已被更新,以反映]

總之,在你的HTML,添加一個名爲「checkLoggedIn」級(或任何),以將推出的模態的鏈接...

<a href="a-script-that-handles-non-js-requests.php" data-videoID="somevideoID" class="checkLoggedIn">View my rad videos!</a> 

然後模態(假設自舉這裏)

<div class="modal fade" id="videoModal" aria-hidden="true" aria-labelledby="videoModal" role="dialog" tabindex="-1"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title">Modal title</h4> 
    </div> 
     <div class="modal-body"> 

     </div> 
     <div class="modal-footer"> 
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    <button type="button" class="btn btn-primary">Save changes</button> 
    </div> 
</div><!-- /.modal-content --> 

然後在你準備好FUNC ...

$(function() { 
$('#videoModal').modal(); 
    $(".checkLoggedIn").click(function(event) { 
     event.preventDefault(); 
let videoID = $(this).data('videoID'); 
     $.get("check_login.php?videoID="+videoID, function(data) { 
      $(".modal-body").html(data); 
       $('#.videoModal').modal('show'); 
       //show right now with .modal-body containing the returned 
       //HTML from the check_login.php script. 
     }); 
    }); 

}); 

所以,onload事件,以 「checkLoggedIn」 歸類任元會做任何事情阻止點擊。一個名爲「check_login.php」的服務器端腳本的ajax調用將觸發,該腳本將返回用於登錄或視頻的HTML。

做錯事的方法是用某種「if」語句來判斷老兄是否登錄。然後顯示模式。

[編輯:你的PHP腳本必須做一些更與影片ID]

<?php 
if(dudeIsLoggedIn()){ 
    $html = goGetTheHTMLForThisVideo($_GET['videoID']); 
    if($html){ 
     echo $html; 
    } else { 
     echo "Sorry, the video isn't available"; 
    } 
} else { // dude isn't logged in 
    echo goGetTheHTMLForLoggingIn(); 
} 

?> 
+0

謝謝,盧卡斯!因此,如果使用多個播放按鈕,該模式將如何知道要播放哪個視頻?這是一個視頻列表,每個視頻都有一個播放按鈕。視頻模式/ DIV需要知道要播放哪個URL,但同時如果用戶有活動帳戶,請檢查該標誌。 – Donato

+0

我在編輯腳本的同時提出了這個問題。現在檢查。這應該包括它。 – Lucas

+0

我正在使用C#...: - /但我想我可以理解它。 – Donato

相關問題