[Code] Một số vấn đề về js, jquery

  Bài viết hay nhất1
Tình hình là em có viết một đoạn code mà khi click vào link dạng a[href^="/u"] thì nó hiện ra 1 popup gồm avatar, username và các tab tùy chọn nhưng có một lỗi mà nó không hiện được:
Code như sau:
Code:
var username = 'a[href^="/u"]';  //Gọi biến username là link để mình click vào
var linkuser = $(username).attr("href");  //Gọi biến linkuser là href của [font=monospace]a[/font]
var avatar = $(".avatar").load('"+ linkuser +" .real_avatar'); //Gọi biến avatar load ảnh từ link href của a[href^="/u"]
$(username).click(function(){    //Click
return false;  //không chuyển trang
$('body').append('<div class="info-user" style="position:fixed;top:50%;left:50%"><div class="avatar">"+ avatar +"</div></div>'); //Khi click thì sẽ hiện một popup thông tin
});
Thế mà nó chỉ mới không chuyển trang còn phần popup thì không hiện :))
  Bài viết hay nhất2
Đơn giản là do bạn viết sai ngay từ ban đầu rồi. Giải thích thì hơi dài dòng tóm gọn lại như sau:
1. Hàm .click không nên dùng như vậy, và cũng không nên dùng return false để chặn sự kiện chuyển trang. Vì làm như thế, các lệnh phía sau nó sẽ không chạy tiếp được.
2. Hàm .load chỉ chạy được khi Element đó có tồn tại, chứ không đặt biến rồi ép nó chạy dc, như thế là hoàn toàn sai.
3. Cách nối biến như bạn viết ở code trên cùng sai nốt. Xem lại phần này.

Bạn có thể kham khảo code mẫu như sau:
Code:

$(function(){
   $('a[href^="/u"]').click(function(a){
      a.preventDefault(); // Chặn tiến trình chuyển trang
      var $href = this.href; // Lấy link user
      $.get($href).done(function(data){
         var $html = $(data); // Đặt biến $html thành dữ liệu tải trang user. Giờ nó tương đồng với $(document) của trang user đó. Giờ bạn muốn lấy phần nào ở trang user. Dùng lệnh $html.find('tên thuộc tính') để lấy chúng.
         var $avata = $html.find('#profile-advanced-right img[alt="avatar"]').attr('src'); // Lấy link ảnh avata;
         var $name = $html.find('#profile-advanced-right h3:first').html(); // Lấy tên thành viên         
         $('body').append('<div class="info-user" style="position:fixed;top:50%;left:50%"><div class="avatar"><img src="'+ $avata +'" /><p>Tên: <a href="'+$href+'">'+$name+'</a></p></div></div>');
      });      
   })
})

Code trên chỉ là mẫu thôi. Tốt nhất là không nên dùng chúng cho toàn forum. Mà nên phân vùng chúng sử dụng ở một số nơi chỉ định, như index_box hoặc view_topic thôi.
  Bài viết hay nhất3
Cảm ơn ạ, admin close topic hộ em :)
  Bài viết hay nhất4
You cannot reply to topics in this forum