2011-10-20 48 views
6

Tất cả,Trung tâm & Xoay hình ảnh với IE8 (jQueryRotate)

Tôi đang tìm cách lấy trung tâm và xoay hình ảnh để phản hồi nhấp chuột. Tôi đang sử dụng thư viện jQueryRotate.

Đây là cách tiếp cận mà tôi đang xem xét.

http://jsfiddle.net/HatAndBeard/k3Gxj/6/

này hoạt động tốt trong Chrome/Firefox nhưng không có trong IE8 hoặc thấp hơn. Có một số hiện vật hình ảnh mà tôi không thể thoát khỏi. Bất kỳ ý tưởng?

P.S. Tôi không có yêu cầu nghiêm ngặt về cách xoay vòng được thực hiện, vì vậy các phương pháp tiếp cận khác cũng được hoan nghênh.

P.S.S tôi có thể đăng mã nếu liên kết JSFiddle không phù hợp với ý thích của bạn.

Trả lời

2

Hi im một tác giả của plugin này và tôi hoan nghênh bất kỳ ý kiến ​​và các vấn đề về plugin này trên trang chủ của một plugin :)

Bạn có thể giải thích thêm một chút về vấn đề của mình không, vì tôi không thể làm cho nó tái tạo trong IE 8 hoặc IE7 được mô phỏng trong IE8. Ngoài ra tạo ra vấn đề sẽ được tốt đẹp :)

Vấn đề "lạ" duy nhất mà tôi thấy chỉ là một hiệu ứng hình ảnh tải mà bạn có thể dễ dàng thoát khỏi nếu sau khi tải trang của bạn, bạn chỉ cần thực hiện $ (img) .rotate (0) -> điều này sẽ đảm bảo rằng khi bạn nhấp vào hình ảnh nó sẽ sẵn sàng để animate :)

Chúc mừng,

+0

khởi tạo công việc xoay. Cảm ơn! http://jsfiddle.net/k3Gxj/8/ – HatAndBeard

2

Thay vào đó, bạn đã cố sử dụng RaphaelJS. Với thư viện này, tôi đã có trải nghiệm trình duyệt chéo tốt trong quá khứ.

quay hình ảnh với raphael trên nhấp chuột là một nhiệm vụ dễ dàng, hãy xem demo này: http://raphaeljs.com/image-rotation.html

3

tôi đã kết thúc làm việc xung quanh vấn đề bằng cách sử dụng chức năng xoay BasicImage trong IE. Tôi chỉ cần hiển thị hình ảnh với mức tăng 90 độ để cách tiếp cận này hoàn toàn khả thi.

Một phác thảo sơ bộ những gì tôi đã làm ...

function ieRotate(element, rotation) { 
      var rotationInt = 0; 
      switch (rotation % 360) { 
       case 0: 
        rotationInt = 0; 
        break; 
       case 270: 
       case -90: 
        rotationInt = 3; 
        break; 
       case 180: 
       case -180: 
        rotationInt = 2; 
        break; 
       case 90: 
       case -270: 
        rotationInt = 1; 
        break; 

      } 
      element.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + rotationInt + ')'); 
     } 
+0

hey tôi có một chút rất phức tạp của mã để làm điều này trong ví dụ 6 + Tuy nhiên youve đánh dấu là đã trả lời? Chỉ cần tự hỏi nếu bạn đang ok với điều này vì nó sẽ mất một thời gian dài để viết lên dựa trên ma trận toán học và lượng giác. – Alex

+0

Hãy tiếp tục và đăng bài nếu bạn cho rằng nó quan tâm đến cộng đồng. Cách giải quyết của tôi sẽ không hoạt động cho mọi người với cùng một vấn đề. – HatAndBeard

+0

ouch :-) ok hãy để tôi biên dịch tất cả thành một cái gì đó có ý nghĩa tại thời điểm đó là tất cả một phần của dự án mvc/backbone.js. Về cơ bản nó sử dụng sylvester.js cho ma trận toán học, ma trận IE http://msdn.microsoft.com/en-us/library/ms533014(v=vs.85).aspx bộ lọc và một tải của hack cho rằng zackastronaught plugin. Trên đường đi trong vài ngày tới. – Alex

Các vấn đề liên quan