jsB@nk.com


Free JavaScript Codes Download

Translate this page to English Translate this page to France Translate this page to Vietnamese

Xin code tạo ID tự động & .....

Bạn muốn tìm một hiệu ứng hay mã nguồn nào đó? Hãy gửi yêu cầu tại đây! Các thành viên sẽ giúp đỡ bạn.

Xin code tạo ID tự động & .....

Postby Guest on Thu Feb 28, 2008 11:59 pm

Chào cả forum, trước tiên là cảm ơn admin đã cho phép Guest post bài ở khu vực này. Mình có một vài yêu cầu cần các bạn giúp đỡ.

+ Mình cần 1 code tạo ID tự động cho các hình, ví dụ, trong CSDL, mình lấy ra 100 hình, và đặt sự kiện onload(this), mình muốn, nó tạo ra 100 ID cho đúng 100 hình này, để mình dễ tham chiếu đến. Vì lý do đặt biệt, mình không muốn tạo ID từ trước.

+ Trong sự kiện OnLoad=RS(this), trong hàm RS(), mình muốn gọi sự kiện OnClick thì làm thế nào ?

+ Mình muốn đặt sự kiện OnLoad trong 1 Image, và hàm này sẽ biến làm cho Image này có thêm 1 thanh title ngay phía trên, có chiều dài và chiều cao chỉnh được theo ý muốn. Và có thêm 3 button, mỗi button, mình được quyền dùng sự kiện OnClick để gọi các tác động mình cần.

+ Trong các textarea để viết bài, khi click vào 1 button, nó sẽ chèn 1 tag vào textarea, mình muốn con trỏ đặt focus ngay tại giữa 2 tag đó thì phải làm sao ?

Cảm ơn đã giúp đỡ. !
Guest
 


Postby Cao Phong on Fri Feb 29, 2008 2:01 am

1 . Bạn có thể dùng hàm Math.random() để tạo một số ngẫu nhiên trong khoảng 0->1. Còn nếu mún tạo 1 số nguyên ngẫu nhiên thì bạn dùng code sau
Code: Select all
<script type="text/javascript">
/*
* Được viết bởi Cao Phong
* www.JavaScriptBank.com
*/

Math.ceil(Math.random() * n);

/*
* Trong đó
   Math.ceil( m ): làm tròn số lẻ m
   n: giá trị lớn nhất của số ngẫu nhiên mà ta muốn tạo, ví dụ muốn tạo số ngẫu nhiên có giá trị từ 0->82, ta cho n = 82
*/
</script>


2. Hàm window.onclick() dùng để bắt sự kiện nhấn chuột trên trang web. Hàm này có hai cách sử dụng cơ bản như sau:
Code: Select all
<script type="text/javascript">
/*
* Được viết bởi Cao Phong
* www.JavaScriptBank.com
*/

// bắt sự kiện nhấn chuột trên toàn trang web
window.onclick = function()
{
   // mã xử lí
}

// bắt sự kiện nhấn chuột trên một đối tượng cụ thể
document.getElementById('id_của_đối_tượng_cần_bắt_sự_kiện_click').onclick = function()
{
   // mã xử lí
}
</script>


3. Sự kiện onload được dùng cho toàn bộ trang web, tùy vào trường hợp cụ thể mà có những cách xử lí khác nhau, ko có sự kiện onload cho một đối tượng riêng lẻ

4. Bạn vui lòng xem chủ đề đã có trên forum, [url="http://www.javascriptbank.com/4rum/viewtopic.php?t=307"]Code editor dạng bbcode??[/url]
Unlimited hosting: Hostgator, Bluehost, H9, IX
User avatar
Cao Phong
 
Posts: 515
Joined: Wed Aug 29, 2007 3:44 am
Location: Here

Thank đã giúp đỡ

Postby Guest on Fri Feb 29, 2008 5:17 am

Cảm ơn đã giúp đỡ.
1. Xin chỉ mình cách tạo ID bằng 1 số nguyên từ 1 đến hết các ảnh cần thiết. VD: Mình có 10 ảnh, gọi sự kiện OnLoad, thì viết thế nào để tạo ra ID từ 1 đến 10. Những hình ảnh không gọi sự kiện này, thì sẽ không được tạo ID. Theo đó, mình sẽ không thể biết trước được n = ???, và mình không thể dùng random, cách này mình cảm thấy không ổn.

2. Đã hiểu vấn đề.

3. Vậy mình muốn hỏi, viết hàm thế nào để khi chèn vào tag <Img..... nó sẽ tự động thêm 1 Table phía trên ảnh này...

4. Thanks.
Guest
 

Postby Cao Phong on Fri Feb 29, 2008 7:21 am

1. Cách diễn giải của bạn khó hiểu quá, lấy từ CSDL ra 10 ảnh; và nếu muốn sử dụng ảnh nào thì bạn phải kiểm soát (đánh dấu ảnh sử dụng) bằng cách mà bạn muốn, thì bạn sẽ biết được số ảnh (n) mà mình sử dụng chứ. Và tất cả các giải thuật tạo dữ liệu ngẫu nhiên đều phải sử dụng hàm random hết dù trực tiếp hay gián tiếp; bạn ko thấy là tất cả các ngôn ngữ lập trình đều cung cấp hàm này sao?

3. Nếu muốn tạo 1 table trên ảnh thì bạn cứ viết = HTML, và phân biệt các ảnh với nhau bằng ID; cần gì phải thêm vào thẻ img rồi để nó tự tạo.
Unlimited hosting: Hostgator, Bluehost, H9, IX
User avatar
Cao Phong
 
Posts: 515
Joined: Wed Aug 29, 2007 3:44 am
Location: Here

Postby Guest on Sat Mar 01, 2008 12:29 am

Code: Select all
myObject.getNextId = function() {
   id = 1;
   while(document.getElementById(myObject.IMAGE_ID+id) != null) {
      id++;
   }
   return id;
}


Cho mình hỏi, đoạn code trên xử lý việc gì.?
---------
Mình không thể đánh dấu ID cho mỗi hình ảnh được, đúng ra là được, nhưng đôi khi, các hình ảnh sẽ trùng ID, mình dùng ID = 1 chuỗi 5 ký tự (được lấy ngẫu nhiên từ A - Z, a-z, 0-9) Vậy mà nó vẫn trùng, mặc dùng xác suất rất nhỏ.
Vì thế, mình muốn hỏi, có cách nào không cần Add ID, mà khi gọi hàm, đồng thời nó sẽ tạo cho mỗi ảnh 1 ID luôn.

+ Có nhiều hình ảnh khác nhau, nếu không thể tạo ID, mình dùng (.this) có được không ?

+ Một site chạy nhanh hay chậm, có phụ thuộc vào số lượng các đoạn mã javascript hay không ?

Thanks
Guest
 


Postby Guest on Sat Mar 01, 2008 12:34 am

Cao Phong wrote:3. Nếu muốn tạo 1 table trên ảnh thì bạn cứ viết = HTML, và phân biệt các ảnh với nhau bằng ID; cần gì phải thêm vào thẻ img rồi để nó tự tạo.


Mình biết rõ điều này, nhưng đây là vấn đề mình đặt ra và mình cần sử dụng nó cho việc thiết kế của mình. Dĩ nhiên là có lý do mình không muốn viết = HTML.
Guest
 

Postby Cao Phong on Sat Mar 01, 2008 2:08 am

1. code của bạn sẽ thực hiện công việc như sau:
. Lấy mốc ban đầu là IMAGE_IDid = 1
. Duyệt tìm dãy đối tượng có id là myObject.IMAGE_ID+id; nếu ko tìm thấy đối tượng chứa id này thì tăng id lên 1 đơn vị; ngược lại tìm thấy thì trả về id

2. Nếu ko mún có id trùng nhau thì bạn có thể thực hiện vòng lặp làm việc sau:
. tạo id ngẫu nhiên
. kiểm tra id này có trong danh sách chưa (danh sách này là mảng)
. nếu chưa có thì gán nó cho ảnh và thêm vào danh sách id này
. nếu có rồi thì bỏ qua thực hiện lại vòng lặp

Guest wrote:Có nhiều hình ảnh khác nhau, nếu không thể tạo ID, mình dùng (.this) có được không ?


được

Guest wrote:Một site chạy nhanh hay chậm, có phụ thuộc vào số lượng các đoạn mã javascript hay không ?


Có. Tốc độ của site phụ thuộc vào độ lớn mã JS nó chứa và cách xử lý bên trong của mã. Tuy nhiên; chỉ khi bạn hoặc người ướt web sử dụng Pentium III trở xuống mới nhận thấy rõ sự khác biệt này
Unlimited hosting: Hostgator, Bluehost, H9, IX
User avatar
Cao Phong
 
Posts: 515
Joined: Wed Aug 29, 2007 3:44 am
Location: Here

Postby Guest on Sun Mar 02, 2008 2:08 am

Cao Phong wrote:1. code của bạn sẽ thực hiện công việc như sau:
. Lấy mốc ban đầu là IMAGE_IDid = 1
. Duyệt tìm dãy đối tượng có id là myObject.IMAGE_ID+id; nếu ko tìm thấy đối tượng chứa id này thì tăng id lên 1 đơn vị; ngược lại tìm thấy thì trả về id

2. Nếu ko mún có id trùng nhau thì bạn có thể thực hiện vòng lặp làm việc sau:
. tạo id ngẫu nhiên
. kiểm tra id này có trong danh sách chưa (danh sách này là mảng)
. nếu chưa có thì gán nó cho ảnh và thêm vào danh sách id này
. nếu có rồi thì bỏ qua thực hiện lại vòng lặp


Mình có thể dùng 1 để giải quyết vấn đề 2 được không ? Nếu được thì xin hướng dẫn cụ thể. Mình sẽ tạo ID thế nào và lấy ra thế nào. Đoạn code trên chỉ là mình copy thôi, chỉ là mình biết sơ về nó nên nghĩ là nó tạo ID.
Guest
 

Postby Cao Phong on Sun Mar 02, 2008 4:40 am

1) và 2) làm hai công việc hoàn toàn khác nhau, ko thể thay thế cho nhau được. 1) chỉ kiểm tra và trả về một đối tượng nào đó có id là myObject.IMAGE_ID+id

2. Code để tạo ra 10 số ngẫu nhiên không trùng nhau trong khoảng 0-15

Code: Select all
<script type="text/javascript">
/*
* Được viết bởi Cao Phong
* www.JavaScriptBank.com
*/

var i, temp, arr_len;
var arr_int = new Array();

function is_exist(n)
{
   arr_len = arr_int.length;
   for(i = 0; i < arr_len; i++)
   {
      if( arr_int[i] == n )
         return true;
   }
   return false;
}
function random_ids()
{
   var n, sum = 0;
   do
   {
      n = Math.ceil(Math.random() * 15);
      if( !is_exist(n) )
      {
         arr_int[sum++] = n;
      }
   }
   while( sum < 10 );
   
   return arr_int; // trả về một mảng chứa các id không trùng nhau
}
alert(random_ids());
</script>
Unlimited hosting: Hostgator, Bluehost, H9, IX
User avatar
Cao Phong
 
Posts: 515
Joined: Wed Aug 29, 2007 3:44 am
Location: Here



Return to Gửi một yêu cầu

Who is online

Users browsing this forum: No registered users and 0 guests

Google Safe Browsing McAfee SiteAdvisor Norton SafeWeb Dr.Web
cron