2013-05-02 26 views
13

Tôi đang cố gắng làm cho các phương thức bật lên với thông tin về một số địa điểm nhất định trên bản đồ. Đây là mã:Phương thức không mở trong IE

<area href="#modal_starthere" data-toggle="modal" title="Start Here" shape="poly" coords="431, 785, 500, 785, 501, 839, 432, 838" /> 

Và sau đó:

<div id="modal_starthere" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
     <h4>Start Tour Here</h4> 
    </div> 
    <div class="modal-body"> 
     <div class="row-fluid"> 
      <div class="span12" style="overflow: auto; height: 425px;"> 
       <p> <!-- FUTURE CONTENT --></p> 
      </div> 
     </div> 
    </div> 
</div> 

Nó hoạt động tuyệt vời trong Firefox và Chrome, nhưng trong IE (10) nền đi màu xám nhưng phương thức không hiển thị. Bất kỳ ý tưởng? Tôi tự hỏi nếu có thể chuyển đổi dữ liệu không được hỗ trợ trong IE.

+0

phiên bản IE nào –

+0

Tôi đang sử dụng IE 10 – scalen121

+0

bạn có thể hiển thị bản trình diễn, chẳng hạn như trên jsfiddle hoặc liên kết tới trang của riêng bạn không? –

Trả lời

19

IE không hỗ trợ lớp "mờ dần" cho các phương thức, bằng cách lấy ra mờ dần, tôi mất hoạt ảnh, nhưng hiển thị phương thức trong cả 3 trình duyệt hiện nay. Tôi đã tìm thấy câu trả lời ở đây: https://github.com/twitter/bootstrap/issues/3672

+0

Tôi đã thử nó và nếu bạn thêm data-target = "modal_starthere" và nó hoạt động cho tôi trong khu vực của bạn – zeyorama

+1

Sau đó, tại sao ví dụ bootstrap trên trang của họ làm việc với fade trong IE? * chỉnh sửa *: xóa bỏ phai cũng không làm gì. -1 – WtFudgE

3

IE rất buồn. Nhưng bạn có thể thêm thẻ

<meta http-equiv="X-UA-Compatible" content="IE=edge"> 

sau thẻ <html>. Nó sẽ hoạt động. Và bạn chỉ nên bao gồm bootstrap.min.js. Đủ rôi.

+0

Tôi phải tinh chỉnh điều này để chạy ở chế độ IE9 trước khi nó hoạt động; '' – keithl8041

11

Câu trả lời của @ scalen121 có hiệu quả đối với tôi (hoạt ảnh fade khiến hoạt động này bị hỏng). Tuy nhiên, tôi đã gặp sự cố với các bản sửa lỗi được đề xuất ..

Nếu bạn muốn xóa hoạt ảnh fade chỉ dành cho IE (có vẻ như không hoạt động ngay cả trên IE11) nhưng để nó cho các trình duyệt khác, bạn có thể thêm đoạn:

$(function() { 
    var isIE = window.ActiveXObject || "ActiveXObject" in window; 
    if (isIE) { 
     $('.modal').removeClass('fade'); 
    } 
}); 

Lưu ý rằng việc kiểm tra trình duyệt IE trên là không giống như làm cũ: $.browser.msie, mà trả về undefined trên IE11 (thử nghiệm với jQuery 1.8.3 và 1.7.2).

+0

Lưu ý rằng thao tác này sẽ không hoạt động đối với Edge. OP đã không đề cập đến Edge, và nó có lẽ thậm chí không có sẵn tại thời điểm viết, nhưng lưu ý này là dành cho những người tương lai. –

0

Dưới đây là một giải pháp mà không sửa đổi bố trí bootstrap ban đầu và mã:

var $modalWrapper = $('#modalWrapper'); 
$modalWrapper.on('show.bs.modal', function() { 
    $modalWrapper.toggleClass('in', true); 
}); 
$modalWrapper.on('hidden.bs.modal', function() { 
    $('.modal-backdrop.fade').remove(); 
}); 
0

Bạn có thể bao gồm transition.js tập tin thay vì loại bỏ các lớp phai. Điều này làm việc tốt cho tôi với hiệu ứng mờ dần trong IE10